网络通讯协议,socket理解
1.4层网络通讯模型
2.TCP与UDP区别
1)tcp面向连接,而udp面向无连接。2)tcp需要客户端与服务端建立连接后才能进行传输数据;而udp不需要建立连接,直接将 进行数据传输。3)因此tcp是安全的,但是传输速率慢;udp传输速率快,不安全,容易丢包。
3.TCP3次握手
第一次握手客户端发送数据包给服务端(服务端你在不在);第二次握手服务端也发送个数据包给客户端(客户端我在);第三次握手(那我发送数据给你)。实现了一个连接中3次握手。
4.代码
服务端
//tcp服务器端...
class TcpServer {
public static void main(String[] args) throws IOException {
System.out.println("socket tcp服务器端启动....");
ServerSocket serverSocket = new ServerSocket(8080);
// 等待客户端请求
Socket accept = serverSocket.accept();
InputStream inputStream = accept.getInputStream();
// 转换成string类型
byte[] buf = new byte[1024];
int len = inputStream.read(buf);
String str = new String(buf, 0, len);
System.out.println("服务器接受客户端内容:" + str);
serverSocket.close();
}
}
客户端
public class TcpClient {
public static void main(String[] args) throws UnknownHostException, IOException {
System.out.println("socket tcp 客户端启动....");
Socket socket = new Socket("127.0.0.1", 8080);
OutputStream outputStream = socket.getOutputStream();
outputStream.write("我是客户端".getBytes());
socket.close();
}
}