1.UDP 实时性比较好----例如:看视频
2.数据报套接字
服务器流程: (先接收在发送)
1.创建套接字----数据报式套接字 SOCK_DGRAM
2.绑定
3.recvfrom接受信息并获得对方地址----------------TCP是通过accept获得对方地址
参数前4个与TCP的recv参数一样
src_addr (对方的地址)如果为非空,底层协议提供源地址。
addlen 必须初始化,先申明一个socke_t len = sizeof(struct sockaddr);
4.sendto 回复消息
参数前4个与TCP的send参数一样
dest_addr
dest_len
5.关闭
客户端流程:
1.创建套接字
2.bind<可选>
3.sendto------必须先发信息,连接服务器,才能收信息 (协议同时分配一个地址给自己)
4.recvfrom ( , , , , NULL, NULL) 与recv有区别,不需要申明一个变量保存返回值。 返回0,则收到的数据包只有包头
5.关闭
比较两个结构体:memcmp
另一种:方式
当你只想和一方通信,可以用connet固定服务器地址。。。
1.socket
2.connet
3.send
4.recv
5.close
typedef struct node
{
struct sockaddr_in data;
struct node *next;
}listnode,*linklist;