1、linux下的udp:
UDP的c/s模型:
相比于tcp,udp编程,客户端connect()函数以及服务端的accept()函数被舍弃;
另外:listen()函数是设置同时监听的上限数。因此,在udp中,服务器端的listen()函数,可有可无!!
服务端:
lfd = socket(AF_INET,SOCK_DGRAM,0);
bind();
listen(); 这个函数是设置同时监听的上限数。在udp中,可有可无(用不上)!!
while(1)
{
recvfrom(); 替换read();
sendto(); 替换write()函数。 他同时含有connect()函数的功能。
close();
}
客户端:
cfd = socket(AF_INET,SOCK_DGRAM,0);
sendto(“服务器地址结构”,”地址结构大小”); strlen(buf);实际的大小
recvfrom();
close();
2、qt下的udp
要想接收数据,必须先绑定!
3、linux下的udp和qt下的udp区别:
linux下的绑定,只有服务器端需要绑定服务器的地址结构(包括服务器的IP和端口号);
而在qt下,服务器端和客户端都要绑定本地端口,只有绑定以后,才可以接受数据(也就是说,qt中,他的客户端和服务器端的程序时一模一样的);
注:不绑定,是可以发送数据的。