首页 > 代码库 > TCP传输协议使用

TCP传输协议使用

TCP传输协议,也称之为套接字连接,比较安全,三次握手!,必须确保对方计算机存在,才能连接,而且是长时间连接。

缺点是传输速度有点慢。

你用 socket 去连接 ServiceSocaket 服务器端,ServiceSocaket 会创建一个,Sockets 然后你的Socket ,连接服务器端创建的Socket 最后你的Socket 和 服务器端的 Socket 都会创建一个 OutputStrea 和InputStream 流用来传输数据。

如下图:

技术分享

ServerSocket :

服务端,如果Socket是从ServerSocket拿到的,那就是服务器连接端 。

ServerSocket ser=new ServerSocket(8080);
//建立好一个服务端,端口号为8080如果8080端口被占用了会报错,

端口占用错误。

技术分享

Socket sock=ser.accept();
/* 监听客户端连接,监听8080端口,如果有客户端来连接他就会自动创建一个,Socket 然后客户端的Socket 和服务端的 Socket 会创建 输出和输入流,用来传输数据。
*/
InputStream input=ser.getInputStream();
OutputStream out=ser.getOutputStream();
// 获得输出和输入流。
out.flush(); // 这个方法是催系统赶紧把数据发送过去。

Socket:

用户端,自己创建的Socket,那你就是客户端。

Socket sock=new Socket( “ip” , 端口 );
// 创建用户端,指定好你要连接的服务器ip 和端口。

InpoutStream input=sock.getInputStream();
OutputStream out=sock.getOutputStream();
// 获得用户端的输出和输入流 ,用来传输数据。

out.flush(); // 这个方法是催系统赶紧把数据发送过去。

下图是用户端链接客服端的图解:

技术分享

如下图 用户和服务器的数据传输:

技术分享

InetAdderss ip=InetAddress.getLocalHost();

ip.getHostAddress(); // 获得本地ipv4的IP地址。

InetAddress ip=InetAddress.getByName(“www.kaige123.com”);
ip.getHostAddress(); // 获得kaige123 网址的ipv4的IP地址。 //使用DNS接续出来的。

技术分享

TCP传输协议使用