网络通讯协议,socket理解

1.4层网络通讯模型

    网络通讯协议,socket理解

2.TCP与UDP区别

    1)tcp面向连接,而udp面向无连接。2)tcp需要客户端与服务端建立连接后才能进行传输数据;而udp不需要建立连接,直接将 进行数据传输。3)因此tcp是安全的,但是传输速率慢;udp传输速率快,不安全,容易丢包。

3.TCP3次握手

网络通讯协议,socket理解

第一次握手客户端发送数据包给服务端(服务端你在不在);第二次握手服务端也发送个数据包给客户端(客户端我在);第三次握手(那我发送数据给你)。实现了一个连接中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();
	}
}