UDP----学习笔记
2012-01-11 17:39
113 查看
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;
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;
相关文章推荐
- [学习笔记]Java网络编程之UDP通讯
- [学习笔记]Java网络编程之UDP通讯
- Linux Socket 学习笔记19-UDP广播服务器端
- (52)Java学习笔记——网络编程 / UDP协议
- 学习笔记七之网络编程(UDP)
- Lwip学习笔记之UDP
- Java6学习笔记64——UDP客户端/服务器端
- Java UDP 网络编程 示例 -Java学习笔记(30)
- 【07】 Boost库学习笔记之异步通信(UDP)
- 路由交换学习笔记04--TCP/UDP
- tinyos学习笔记10--TestRPL(UDP)例程学习过程中碰到的问题
- 【Java学习笔记】UDP客户端/服务器端
- UDP和TCP的学习笔记
- 【Java学习笔记】59:DatagramPack和DatagramSocket做UDP通信
- TCP/IP网络编程 学习笔记_7 --基于UDP的服务端/客服端
- 黑马程序员_学习笔记:15) 网络编程:Socket(udp、tcp)
- ffmpeg学习笔记1----->udp流多路节目实现分离
- Linux netfilter 学习笔记 之十三 netfilter的SNAT模块是否支持UDP打洞
- iOS学习笔记4-GCDAsyncUdpSocket的使用(实现异步发送接收数据)
- Golang 学习笔记:HTTP, TCP/IP, UDP