Socket之TCP通信
TCO通信原理: TCP协议提供一种面向连接的,可靠的通信服务,它在通信两端各建立一个Socket对象,从而在通信两端形成网络虚拟链路,一旦建立了网络虚拟链路,两端的程序就可以通过虚拟链路进行通信。Java对TCP协议提供了良好的封装,使用Socket对象来代表两端通信接口,并通过Socket产生IO流来进行网络通信。Java为客服端提供了Socket类,为服务端提供了ServerSocket类。
TCP发送数据 1、创建客户端的Socket对象(Socket) 2、获取输入流,写数据 OutputStream类下的getOutputStream()方法 3、释放资源
TCP客户端代码
public class Send {
public static void main(String[] args) throws IOException {
Socket socket = new Socket(InetAddress.getByName("192.168.219.1"), 10086);
OutputStream os = socket.getOutputStream();
os.write("hello,TCP,我来了".getBytes());
socket.close();
}
}
TCP接收数据 1、创建服务端的Socket,并绑定端口号(ServerSocket) 2、监听客户端的socket,并接受它。 3、获取输入流并读数据 4、关闭资源。
TCP服务端代码
public class Receive {
public static void main(String[] args) throws IOException {
ServerSocket socket = new ServerSocket(10086);
Socket accept = socket.accept();
InputStream inputStream = accept.getInputStream();
byte[] bytes = new byte[1024];
int len=inputStream.read(bytes);
String s = new String(bytes,0,len);
System.out.println(s);
accept.close();
socket.close();
}
}
|