UDP通信步骤
Java:
发送
1、创建socket对象,绑定到主机上的任意端口
2、创建数据数据包:创建数据,并new一个数据包对象把数据打包(数据、数据长度、接收方IP跟端口号)
3、调用socket对象的方法发送数据
4、关闭发送端
接收:
1、创建一个socket对象绑定到指定的本地端口(因为发送端要往这里发数据)
2、创建数据包用来接收数据:创建数组,并new一个数据包对象(数组,数据长度)
3、调用socket的方法接收数据
4、关闭接收端
unity scoket
服务器的客户机的区别在,服务器需要绑定终结点
服务器:事先不知到客户机的终结点,所以先收数据,获取终结点,再发
1、创建udp socket对象(第二个参数用户数据报,第3个参数是udp)
2、创建IP1
3、创建终结点1(IP1,端口号)
4、服务器的socket绑定终结点1(用来收数据)
5、创建终结点2用来被发送方填充端口号跟IP(用来保存发送方的终结点)(因为不允许空值,所以这边先赋一个值)
6、创建数组,用来收数据,
7、调用socket对象的方法接收数据(数组,终结点2)
8、创建数据
9、编码
10、调用socket对象的方法发送数据(数据、长度、终结点2)
客户机:已经知道服务器终结点,可以直接发
1、创建udp socket对象(第二个参数用户数据报,第3个参数是udp)
2、创建IP1
3、创建终结点1(IP1,端口号)服务器的终结点
4、创建数据
5、编码
6、调用socket对象的方法发送数据(数据、长度、终结点1)
7、创建终结点2用来被发送方填充端口号跟IP(用来保存发送方的终结点)(因为不允许空值,所以这边先赋一个值)
8、创建数组,用来收数据,
9、调用socket对象的方法接收数据(数组,终结点2)
unity udpclient
跟socket是一样的,只是不需要new udp socket而已
服务器:
1、创建终结点1,设定指定端口号
2、创建udpclient对象,绑定到终结点1(用来收数据)
3、创建终结点2用来被发送方填充端口号跟IP(用来保存发送方的终结点)(因为不允许空值,所以这边先赋一个值)
4、创建数组,用来收数据,
5、调用udpclient对象的方法接收数据(终结点2)
6、创建终结点3,任意预留端口号(动态端口)
7、创建udpclient对象绑定终结点
8、创建数据
9、编码
10、调用udpclient对象的方法发送数据(数据、长度、终结点2)
客户端:
1、创建终结点1,任意预留端口号(动态端口)
2、创建udpclient对象绑定终结点
3、创建终结点2(服务器)
4、创建数据
5、编码
6、调用udpclient对象的方法发送数据(数据、长度、终结点2)
7、创建终结点3,设定指定端口号
8、创建udpclient对象,绑定到终结点3(用来收数据)
9、创建终结点4用来被发送方填充端口号跟IP(用来保存发送方的终结点)(因为不允许空值,所以这边先赋一个值)
4、创建数组,用来收数据,
5、调用udpclient对象的方法接收数据(终结点4)