再美不及姑娘你
又见西风上碧树

一、TCP通信原理

TCP通信协议是一种可靠的网络协议,它在通信的两端各建立一个Socket对象,从而在通信的两端形成网络虚拟链路,

一旦建立了虚拟的网络链路,两端的程序就可以通过虚拟链路进行通信

Java对于基于TCP协议的网络提供了良好的封装,使用Socket对象代表两端的通信端口,并通过Socket产生IO流进行网络通信

Java为客户端提供了Socket类,为服务端提供了ServerSocket类

二、TCP发送数据

发送数据的步骤:

1.创建客户端的Socket对象

Socket(String host, int port): 创建流套接字并将其连接到指定主机上的指定端口号,IP地址可以是字符串类型的。

2.获取输出流、写数据outputstream

getOutputStream():返回此套接字的输出流。

3.释放资源

package Demo042002;
import java.io.IOException;
import java.io.OutputStream;
import java.net.Socket;
/*TCP发送端
1.创建客户端的Socket对象
Socket(String host, int port): 创建流套接字并将其连接到指定主机上的指定端口号,IP地址可以是字符串类型的。
2.获取输出流、写数据outputstream
getOutputStream():返回此套接字的输出流。
* */
public class TcpSend {
  public static void main(String[] args) throws IOException {
      //创建客户端的Socket对象
      //Socket(String host, int port): 创建流套接字并将其连接到指定主机上的指定端口号,IP地址可以是字符串类型的。
      Socket s=new Socket("cy",12345);
      //获取输出流、写数据outputstream
      OutputStream ops = s.getOutputStream();
      ops.write("最美不过姑娘你".getBytes());
      //释放资源
      ops.close();
        s.close();
  }
}

这仅仅是发送数据的步骤,我们知道TCP通信需要经过“三次握手”,所以如果直接运行会报错

三、TCP接收数据

步骤:

1.创建服务器端的Sockt对象(ServerSocket)

2.监听客户端连接,返回一个Soket对象

accept() 侦听要连接到此套接字并接受它返回一个Soket对象。

3.获取输入流,读数据;

getInputstream()

4.释放资源

package Demo042002;
import java.io.IOException;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;
/*服务端
1.创建服务器端的Sockt对象(ServerSocket)
2.获取输入流,读数据;
getInputStream():返回此套接字的输入流。
3.释放资源
* */
public class TcpRecive {
  public static void main(String[] args) throws IOException {
      //创建服务器端的Sockt对象(ServerSocket)
      ServerSocket ss=new ServerSocket(12345);
      //accept() 侦听要连接到此套接字并接受它返回一个Soket对象
      Socket s = ss.accept();
      //获取输入流,读数据;
      InputStream ips = s.getInputStream();
      byte[] bytes=new byte[1024];
      int len;
      while ((len=ips.read(bytes))!=-1){
          System.out.println("数据是"+new String(bytes,0,len));

      }
      //释放资源
      ips.close();
      ss.close();
  }
}

在建立服务端并启动后,客户端就可以通过三次握手进行与服务端的通信

 

 

posted on 2022-04-20 19:30  再美不及姑娘你  阅读(187)  评论(0)    收藏  举报