4.2.2 网络编程之Socket

Posted qkeyar

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了4.2.2 网络编程之Socket相关的知识,希望对你有一定的参考价值。

1基于TCP协议的Socket

服务器端首先声明一个ServerSocket对象并且指定端口号,然后调用Serversocket的accept()方法接收客户端的数据。Accept()方法在没有数据进行接收的处于堵塞状态。,一旦接收到数据,通过inputstream读取接收的数据。

  客户端创建一个Socket对象,指定服务器端的ip地址端口号(newSocket("172.168.10.108",8080);),通过inputstream读取数据,获取服务器发出的数据(socket.getOutputStream()),最后将要发送的数据写入到outputstream即可进行TCP协议的socket数据传输。

Client:

Server:

 


基于UDP协议的数据传输

服务器端首先创建一个DatagramSocket对象,并且指定监听的端口。接下来创建一个空的DatagramSocket对象用于接收数据(newDatagramSocket(data,data.length)),使用DatagramSocket的receive方法接收客户端发送的数据,receive()与serversocket的accepet()类似,在没有数据进行接收的处于堵塞状态。

客户端也创建个DatagramSocket对象,并且指点监听的端口。接下来创建一个InetAddress对象,这个对象类似与一个网络的发送地址(InetAddress.getByName("172.168.1.120"))。定义要发送的一个字符串,创建一个DatagramPacket对象,并制定要讲这个数据报包发送到网络的那个地址以及端口号,最后使用DatagramSocket的对象的send()发送数据。*(socket.send(packet);)

Client send:

 

Client receiver :

Server:

 

 

以上是关于4.2.2 网络编程之Socket的主要内容,如果未能解决你的问题,请参考以下文章

网络通讯之Socket-Tcp

网络编程之Socket & ServerSocket

IO之Socket网络编程

Python网络编程之socket应用

python3网络编程之socket

python之socket网络编程