Linux下的UDP编程
一、引言
UDP是TCP/IP协议中的传输层协议的一种,本文介绍了在Linux下编写基于UDP协议的Client/Server模型的程序的方法,并给出了一个echo Client/Server例子程序。
二、UDP协议简介
UDP是一种简单的传输层协议,在RFC768中有详细描述。UDP协议是一种非连接的、不可靠的数据报文协议,完全不同于提供面向连接的、可靠的字节流
的TCP协议。虽然UDP有很多不足,但是还是有很多网络程序使用它,例如DNS(域名解析服务)、NFS(网络文件系统)、SNMP(简单网络管理协
议)等。
通常,UDP Client程序不和Server程序建立连接,而是直接使用sendto()来发送数据。同样,UDP
Server程序不需要允许Client程序的连接,而是直接使用recvfrom()来等待直到接收到Client程序发送来的数据。
这里,我们使用一个简单的echo
Client/Server程序来介绍在Linux下编写UDP程序的方法。Client程序从stdin读取数据并通过网络发送到Server程
序,Server程序在收到数据后直接再发送回Client程序,Client程序收到Server发回的数据后再从stdout输出。
三、UDP Server程序
1、编写UDP Server程序的步骤
(1)使用socket()来建立一个UDP socket,第二个参数为SOCK_DGRAM。
(2)初始化sockaddr_in结构的变量,并赋值。sockaddr_in结构定义:
struct sockaddr_in {
uint8_t sin_len;
sa_family_t sin_family;
in_port_t sin_port;
struct in_addr sin_addr;
 
相关文档:
如何发展Linux?中日两国之间存在何种差异?有什么好说的?
大约是在1997年的夏天,国内召开第一次Linux高层邀请研讨会,我想,现今那次邀请会的全体与会者都还健在,姓名我就不说了。记得,我去机场迎接Cliff Miller夫妇,那时,Cliff是日本TurboLinux的CEO,专 ......
原创文章,转载请注明出处,谢谢!
作者:清林,博客名:飞空静渡
这是一篇自己很早写的文章了,当时根据网上的一些教程一步一步制作,本来想把自己做的过程放到网上,可以西一值忙于公司项目,没有时 ......
在menUConfig中配置,可以对进行Linux内核配置选项及删改。本文介绍详细配置方法。
第一部分:全部删除
Code maturity level options ---> 代码成熟等级选项
[]Prompt for development and/or incomplete code/drivers 默认情况下是选择的,这将会在设置界面中显示还在开发或者还没有完成的代码与驱动.不选。 ......
这个方块游戏是用linux终端的光标控制、颜色设置做的
(添了个功能,字母P暂停、恢复游戏)
用 A S D W 控制移动、转向,空格键下坠到底;
linux的异步aio函数解决了很多麻烦;
用了个简单的模板单例模式,继承它就可以;
对POSIX线程简单封装成java线程接口;
#include <memory>
#include "Tetris.h"
#include ......
1、在X11界面上修改IP地址等网络信息后必须重启系统才会生效。
2、编译mips指令程序时,用mipsel-linux-gcc命令提示mipsel-linux-gcc:command not found,可以修改~/.bash_profile文件的PATH环境变量后添加:/opt/i686-mipsel-linux-gcc-sdk-3.4.4/cross/bin。
PATH的值是一系列目录,当您运行一个程序时,Linux在这些 ......