买保险网站,种子搜索网站开发,成都seo外包,wordpress插件路径一、TCP通信原理 TCP(Transmission Control Protocol)协议是面向链接的通信协议#xff0c;即数据传输之前#xff0c;先在发送端和接收端建立逻辑链接#xff0c;然后再传输数据#xff0c;它提供了两台计算机之间可靠无差错的数据传输。TCP通信中必须明确客户端和服务器端…一、TCP通信原理 TCP(Transmission Control Protocol)协议是面向链接的通信协议即数据传输之前先在发送端和接收端建立逻辑链接然后再传输数据它提供了两台计算机之间可靠无差错的数据传输。TCP通信中必须明确客户端和服务器端由客户端向服务端发送连接请求每次连接的创建都要经过三次握手。三次握手第一次握手客户端向服务端发出连接请求等待服务器确认。第二次握手服务端向客户端回复一个响应通知客户端收到连接请求第三次握手客户端再次向服务端发送确认信息确认连接完成三次握手之后连接建立客户端和服务端开始进行数据传输可以保证数据安全。数据传输结束以后断开连接会进行四次挥手。四次挥手第一次挥手客户端向服务端发送断开连接请求表示数据发送完毕。第二次挥手服务端收到请求后回复客户端同意关闭连接的请求。第三次挥手服务端向客户端发出断开连接的请求。第四次挥手客户端收到服务端请求后向服务端发送确认信息服务端接收到确认信息后断开连接。客户端等待之后没有收到服务端的回复证明服务端已正常关闭客户端也关闭。二、TCP发送数据
发送数据的步骤
1、创建客户端Socket对象
2、获取输出流写入数据
3、释放资源三、TCP接收数据
接收数据的步骤
1、创建服务端的Socket对象
2、监听客户端连接返回Socket对象
3、获取输入流读取数据
4、释放资源四、TCP通信案例
/*TCP客户端
*/public static void main(String[] args) throws IOException {//创建客户端的Socket对象//Socket(String host, int port)// 创建一个流套接字并将其连接到指定主机上的指定端口号。Socket s new Socket(192.168.1.5, 10000);//OutputStream getOutputStream()返回此套接字的输出流OutputStream outputStream s.getOutputStream();//写入一个字符串outputStream.write(Hello.getBytes());//告诉服务端发送结束// void shutdownOutput() 禁用此套接字的输出流。s.shutdownOutput();//关闭客户端s.close();}//TCP服务端
public static void main(String[] args) throws IOException {//创建服务端的ServerSocket对象//ServerSocket(int port)创建绑定到特定端口的服务器套接字。ServerSocket ss new ServerSocket(10000);//获取输入流读取数据并把数据显示在控制台//Socket accept()侦听并接受到此套接字的连接。Socket socket ss.accept();// InputStream getInputStream()返回此套接字的输入流。InputStream inputStream socket.getInputStream();//读取一次数据byte[] bytes new byte[1024];// int read(byte[] b, int off, int len)// 将输入流中最多 len 个数据字节读入 byte 数组。int len inputStream.read(bytes);String str new String(bytes,0, len);System.out.println(接收到的数据是 str);//关闭服务端ss.close();}先运行服务端后运行客户端。运行结果
服务端输出接收到的数据是Hello!发送端无任何信息