狐狸梦见乌鸦

当坚持成为一种习惯,目标将不在遥远```
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

UDP----学习笔记

Posted on 2012-01-11 17:39  灬啊U  阅读(171)  评论(0编辑  收藏  举报

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;