socket初始学习
socket初步学习
所谓socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄。应用程序通常通过"套接字"向网络发出请求或者应答网络请求。
getInputStream方法获得网络连接输入,同时返回一个IutputStream对象实例
getOutputStream方法连接的另一端将得到输入,同时返回一个OutputStream对象实例
建立server端的socket监听是否有请求过来
客户端代码 根据服务端ip和端口号进行连接 并发送数据和获取服务端回复的数据。
所谓socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄。应用程序通常通过"套接字"向网络发出请求或者应答网络请求。
getInputStream方法获得网络连接输入,同时返回一个IutputStream对象实例
getOutputStream方法连接的另一端将得到输入,同时返回一个OutputStream对象实例
建立server端的socket监听是否有请求过来
public static void doListener() { ServerSocket serverSocket = null; int port = 2011;//端口号 try { serverSocket = new ServerSocket(port); //服务端不断的监听是否用请求过来 while (true) { Socket client = serverSocket.accept(); DataInputStream input; DataOutputStream output; input = new DataInputStream(client.getInputStream()); output = new DataOutputStream(client.getOutputStream()); //1.读取客户端的数据 System.out.println(input.readUTF()); //2.服务器返回数据给客户端 output.writeUTF("success 次数"+i); output.close(); input.close(); client.close(); i++; } } catch (Exception ex) { ex.printStackTrace(); } }
客户端代码 根据服务端ip和端口号进行连接 并发送数据和获取服务端回复的数据。
public void sendSocketMsg() { Socket socket = null; try { //建立socket socket = new Socket("192.168.1.129",2011);//指定服务器IP和端口号 然后进行连接。 //1.先发送数据到服务端 DataOutputStream out = new DataOutputStream( socket.getOutputStream());// 输出流 out.writeUTF(ed_msg.getText().toString());// 将数据写到服务端 //2.接受服务端数据 DataInputStream in = new DataInputStream(socket.getInputStream());// 输入流 String res = in.readUTF();// 读取服务端的数据 tv_servermsg.setText(res); out.close(); in.close(); socket.close(); } catch (Exception ex) { ex.printStackTrace(); } }