TCP传输协议,也称之为套接字连接,比较安全,三次握手!,必须确保对方计算机存在,才能连接,而且是长时间连接。
缺点是传输速度有点慢。
你用 socket 去连接 ServiceSocaket 服务器端,ServiceSocaket 会创建一个,Sockets 然后你的Socket ,连接服务器端创建的Socket 最后你的Socket 和 服务器端的 Socket 都会创建一个 OutputStrea 和InputStream 流用来传输数据。
如下图:
服务端,如果Socket是从ServerSocket拿到的,那就是服务器连接端 。
ServerSocket ser=newServerSocket(8080);//建立好一个服务端,端口号为8080如果8080端口被占用了会报错,
端口占用错误。
Socket sock=ser.accept();/* 监听客户端连接,监听8080端口,如果有客户端来连接他就会自动创建一个,Socket 然后客户端的Socket 和服务端的 Socket 会创建 输出和输入流,用来传输数据。
*/InputStream input=ser.getInputStream();OutputStream out=ser.getOutputStream();// 获得输出和输入流。out.flush();// 这个方法是催系统赶紧把数据发送过去。
用户端,自己创建的Socket,那你就是客户端。
Socket sock=newSocket( “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接续出来的。