TCP
一、Server服务器端编程过程:
1、创建ServerSocket,提供端口号,此时好比安装了一部电话机。
2、通过accept方法返回Socket,Socket好比建立好连接。
3、获得Socket之后,从Socket中获得输入或者输出流。
就如同得到了两个通道,可以从网络中读取或者写出数据。
4、读写之前,先对流进行包装,如何包装取决于应用程序的需求,
比如传输对象,就用Object流。
5、从流中接收和发送数据。
6、释放资源。
二、Client客户端编程过程:
1、创建一个Socket,Socket相当于一个连接的接口,相当于
给服务器拨电话,它需要主机名IP和端口号port。需要
和服务器端绑定的端口号一致。
new Socket(host, port);
2、从Socket中获得输入和输出流。
3、将流进行包装,符合业务数据的要求。
4、从流中接收和发送数据。
5、释放资源。
UDP
一、Server端
1、建立一个信箱,提供端口号。
new DatagramSocket(port);
2、创建一个信封,DatagramPacket(buffer,len);
buffer是一个底层数据的缓冲区byte[]
len表示数据的长度,多少字节
比如,视频传输的是二进制流,使用byte即可。
两种信封:收信封,发信封
3、收信,信箱的receive(DatagramPacket)如同TCP中的
Accept方法。
4、根据收信封,获取发信人的IP地址和端口号,
DatagramPacket getAddress();
DatagramPacket.getport();
5、服务器就可以为客户端提供服务,需要准备一个发信封。
封装四个数据:
new DatagramPacket(buffer,len,clientAddr,clientPort);
clientAddr:表示收信人的地址
clientProt:端口号
6、调用DatagramSocket.send(DatagramPacket);发出去
二、Client客户端
1、准备一个DatagramSorket(port);
一样创建一个信箱。
port:服务器端绑定的端口号不需要相同。
2、客户端建立一个发信封。
new DatagramPacket(buffer,len,serAddr,serverPort);
serverPort制定了服务器端端口号,需要相同。
3、客户端发信
DatagramSocket.send(DatagramPacket);
4、准备一个收信封
new DatagramPacket(buffer,len);
5、收信
DatagramSocket.receive(DatagramPacket);
注:此处的DatagramPacket和第二步的对象不同。
6、关闭资源
DatagramSocket.close();交互完成
一、Server服务器端编程过程:
1、创建ServerSocket,提供端口号,此时好比安装了一部电话机。
2、通过accept方法返回Socket,Socket好比建立好连接。
3、获得Socket之后,从Socket中获得输入或者输出流。
就如同得到了两个通道,可以从网络中读取或者写出数据。
4、读写之前,先对流进行包装,如何包装取决于应用程序的需求,
比如传输对象,就用Object流。
5、从流中接收和发送数据。
6、释放资源。
二、Client客户端编程过程:
1、创建一个Socket,Socket相当于一个连接的接口,相当于
给服务器拨电话,它需要主机名IP和端口号port。需要
和服务器端绑定的端口号一致。
new Socket(host, port);
2、从Socket中获得输入和输出流。
3、将流进行包装,符合业务数据的要求。
4、从流中接收和发送数据。
5、释放资源。
UDP
一、Server端
1、建立一个信箱,提供端口号。
new DatagramSocket(port);
2、创建一个信封,DatagramPacket(buffer,len);
buffer是一个底层数据的缓冲区byte[]
len表示数据的长度,多少字节
比如,视频传输的是二进制流,使用byte即可。
两种信封:收信封,发信封
3、收信,信箱的receive(DatagramPacket)如同TCP中的
Accept方法。
4、根据收信封,获取发信人的IP地址和端口号,
DatagramPacket getAddress();
DatagramPacket.getport();
5、服务器就可以为客户端提供服务,需要准备一个发信封。
封装四个数据:
new DatagramPacket(buffer,len,clientAddr,clientPort);
clientAddr:表示收信人的地址
clientProt:端口号
6、调用DatagramSocket.send(DatagramPacket);发出去
二、Client客户端
1、准备一个DatagramSorket(port);
一样创建一个信箱。
port:服务器端绑定的端口号不需要相同。
2、客户端建立一个发信封。
new DatagramPacket(buffer,len,serAddr,serverPort);
serverPort制定了服务器端端口号,需要相同。
3、客户端发信
DatagramSocket.send(DatagramPacket);
4、准备一个收信封
new DatagramPacket(buffer,len);
5、收信
DatagramSocket.receive(DatagramPacket);
注:此处的DatagramPacket和第二步的对象不同。
6、关闭资源
DatagramSocket.close();交互完成