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接续出来的。
时间: 2024-10-24 02:11:04