Linux下的UDP通信
来源:互联网 发布:大数据技术架构详解 编辑:程序博客网 时间:2024/06/05 00:55
Linux下的UDP通信
今天我们介绍如何编写Linux下的UDP程序,关于TCP程序可以参考这里:http://www.linuxidc.com/Linux/2012-06/61802.htm
由于UDP通信不需要事先建立连接,因此不需要TCP中的connect函数。
服务器端的步骤如下:
1. socket: 建立一个socket
2. bind: 将这个socket绑定在某个端口上(AF_INET)
3. recvfrom: 如果没有客户端发起请求,则会阻塞在这个函数里
4. close: 通信完成后关闭socket
客户端的步骤如下:
1. socket: 建立一个socket
2. sendto: 相服务器的某个端口发起请求(AF_INET)
3. close: 通信完成后关闭socket
可以看到,和TCP相比,步骤少了一些。
这里我们用到了两个新的函数:
int recvfrom(int sockfd, void * buf, size_t len, int flags, struct sockaddr * src_addr, socklen_t * addrlen);
int sendto(int sockfd, const void * buf, size_t len, int flags, const struct sockaddr * dest_addr, socklen_t addrlen);
recvfrom用于接收数据,sendto用于发送数据
recvfrom:
socket:socket套接字
buf:接收到的数据的存放位置
flags:一般情况下为0
src_addr:接收的源地址
addrlen:地址长度
sendto:
socket:socket套接字
buf:要发送的数据的起始地址
flags:一般情况下为0
dest_addr:发送到的目的地址
addrlen:地址长度
还是先上代码:
Makefile:
- all: server.c client.c
- gcc -Wall client.c -o client
- gcc -Wall server.c -o server
- clean:
- rm -rf *.o client server
- Linux下的UDP通信
- Linux下的UDP通信
- Linux下的UDP通信
- LINUX 下的UDP通信
- Linux 下的udp通信
- Linux下 面向连接的 UDP通信
- linux下udp的通信例子
- Linux下实现UDP通信
- Linux环境下------UDP 通信
- linux下简单的UDP对等通信程序
- linux下socket通信代码的开发及总结---UDP
- Linux下C语言实现简单的udp通信
- linux 下UDP通信(附加测试代码)
- Linux下UDP简单通信程序
- linux下C语言UDP通信
- linux下unix socket通信--基于udp
- linux下用udp进行本地通信
- linux下C++实现UDP通信
- android 字符串 部分变色。。
- 理解HTTP session原理及应用
- iOS技巧篇之弹出和隐藏视图
- android一初始化edittext便获取焦点
- 网络设备驱动
- Linux下的UDP通信
- 编辑文章 - 博客频道 - CSDN.NET
- UVA 11992Fast Matrix Operations
- C++策略模式
- 循环的角度求均值
- UESTC 893 First Date 计算时间
- mysql的字符串日期转换函数
- eclipse debug 找不到host
- Cloneable 和 clone()的总结和使用