[C语言] udp 接收发送问题

[复制链接]
 楼主| yanghelovehuang 发表于 2018-6-29 10:15 | 显示全部楼层 |阅读模式
   各位大神 udp的接收发送问题我一直不太明白,服务器断定义两个变量 serveraddr clientaddr,服务器的接收就直接用clientaddr  recvfrom(sockfd, buf, N, 0, (struct sockaddr *)&clientaddr, addrlen),前面定义后也没对clientaddr赋值什么的就直接接收,那recvfrom这个函数是怎么根据一个定义就确定客户端ip并接受的?
   并且我看了udp写的聊天室的代码,其中有部分遍历链表 并且向链表中存在的客户端发送消息,而且链表中保存的客户端地址是clientaddr赋值过来的。链表中结构体有两个成员一个是addr,一个是指针next,而有客户端连接时就会把客户端地址存到链表的addr中,  struct sockaddr_in serveraddr, clientaddr; linklist * h,  h->addr = clientaddr,这就是我不懂的地方,前面定义完之后 也没赋值就直接用,保存到addr的地址是怎么获取的呢?客户端也没把自己的地址传给服务器啊,而且好多个客户端,就一个clientaddr变量,怎么代表的不同地址呢?求大神指点。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

156

主题

324

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部

156

主题

324

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部