手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

【Android】android中Socket进行通信

时间:2024-10-26 04:21:20

1、Socket(InetAddress/String remoteAddress,int port):创建连接到指定远程主机、远程端口的Socket,该构造器没有指定本地地址、本地端口,默认使用本地主机的默认IP地址,默认使用系统动态指定的IP地址。Socket(InetAddress/String remoteAddress,int port,InetAddress localAddr,intlocalPort):创建连接到指定远程主机、远程端口的Socket,并指定本地IP地址和本地端口,适用于本地主机有多个IP地址的情形。

【Android】android中Socket进行通信

2、代码实现如下//创建连接到本机、20000端口的SocketSocket 是= new Socket("192.168.1.121",20000);//下面为可以使用的Socket进行通信。。。

【Android】android中Socket进行通信

3、Socket提供了两个方法来获取输入流和输出流InputStream getInputStreamStream():返回该Socket对象对应的输入流,让程序通过该输入流从Socket中取出数据。OutputStream getOutputStream():返回该Socket对象对应的输出流,让程序通过该输出流向Socket中输出数据。

【Android】android中Socket进行通信

4、public class Simp盟敢势袂leServer{public static void main(String[] ar爿讥旌护gs)throws IOException{// 创建一个ServerSocket,用于监听客户端Socket的连接请求ServerSocket ss = new ServerSocket(20000); //①// 采用循环不断接受来自客户端的请求while (true){// 每当接受到客户端Socket的请求,服务器端也对应产生一个SocketSocket s = ss.accept();OutputStream os = s.getOutputStream();os.write("您好,您收到了服务器的新年祝福!\n".getBytes("utf-8"));// 关闭输出流,关闭Socketos.close();s.close();}}}<!-- 授权访问互联网--><uses-permission android:name="android.permission.INTERNET" />

【Android】android中Socket进行通信

5、Socket对象提供了一个setSoTimeout(int timeout)来设置超时时长。Socket s = new Socket(&鳎溻趄酃quot;192.168.1.121",20000);//设置10秒之后即认为超时s.setSoTimeout(10000);try { //使用Scanner来读取网络输入流中的数据 Scanner scan = new Scanner(s.getInputStream()); //读取一行字符 String line = scan.nextLine(); 。。。}catch(SocketTimeoutException ex) { //对异常进行处理 。。。}

【Android】android中Socket进行通信

6、Socket的所有构造器里都没有提供指定超时时长的参数,所以程序应用该先创建一个无连接的Socket,再调用Socket的connect()方法来连接远程服务器,而connect()方法就可以接受一个超时时长参数。//创建一个无连接的SocketSocket s = new Socket();//让该Socket连接到远程服务器,如果经过10秒还没有连接到,//则认为连接超时s.connect(new InetAddress(host,port),10000);

【Android】android中Socket进行通信
© 手抄报圈