一个简单的聊天代码:运行结果:

在这个程序之中,由于recvfrom函数拥塞函数,没有数据时会一直阻塞,所以客户端和服务器端只能通过一回一答的方式进行信息传递。严格的讲UDP没有明确的客户端和服务端,谁先进行数据传输,谁就是客户端,客户端也有可能是服务器端。

代码1:

 #include"common.h"

 int main()
{
int fd;int saddr_len;
int ret;
char buf[];
struct sockaddr_in saddr; fd = socket(AF_INET, SOCK_DGRAM, );
if(fd < )
{
printf("create socket fail!\n");
return -;
} saddr.sin_family=AF_INET;
saddr.sin_port=htons();
inet_pton(AF_INET,"192.168.6.128",&saddr.sin_addr.s_addr); while()
{
printf("cli:");
gets(buf);
ret=sendto(fd,buf,,,(struct sockaddr*)&saddr,sizeof(saddr)); saddr_len=sizeof(saddr);
recvfrom(fd,buf,,,(struct sockaddr*)&saddr,&saddr_len);
printf("ser:%s\n",buf);
} close(fd); return ;
}

代码2:

#include"common.h"

int main()
{
int fd;
int ret;
int addr_len;
struct sockaddr_in saddr,caddr;
char buf[]; fd=socket(AF_INET,SOCK_DGRAM,);
if(fd<)
{
perror("socket");
}
saddr.sin_family=AF_INET;
saddr.sin_port=htons();
inet_pton(AF_INET,"192.168.6.128",&saddr.sin_addr.s_addr); ret=bind(fd,(struct sockaddr*)&saddr,sizeof(saddr));
if (ret<)
{
perror("bind");
} addr_len=sizeof(caddr);
while()
{ ret=recvfrom(fd,buf,,,(struct sockaddr*)&caddr,&addr_len);
if(ret==-)
{
perror("cecvfrom");
} printf("cli:%s\n",buf);
printf("ser:");
gets(buf);
sendto(fd,buf,,,(struct sockaddr*)&caddr,sizeof(caddr)); }
close(fd);
return ;
}

最新文章

  1. Python类的实例属性详解
  2. 分享到QQ空间代码(一)
  3. PowerDesigner如何自定义报表模板
  4. 关于css中透明度继承的问题
  5. SVN—patch的应用
  6. Tiny Spring 分析一
  7. 下拉的DIV+CSS+JS二级树型菜单
  8. Jason Wang:记录自己所想所得(第一次作业)
  9. Mac 下GitHub 访问慢解决方案
  10. 小程序radio样式修改
  11. [python,2018-06-29] 37%法则及其拓展解决恋爱问题
  12. fiddler 笔记-重定向
  13. css文本属性用法总结
  14. vue权威指南笔记01——样式的设置
  15. python学习: 优秀Python学习资源收集汇总--转
  16. Eclipse 使用 VS快捷键
  17. OpenACC 优化矩阵乘法
  18. 【转】MEF程序设计指南四:使用MEF声明导出(Exports)与导入(Imports)
  19. JS获取元素内容属性以及修改
  20. Ganglia开源集群监视项目

热门文章

  1. 2018-2019-2 20175126谢文航 实验二《Java面向对象程序设计》实验报告
  2. 手机设备上touchstart与click的区别
  3. Android面试准备20190422
  4. angular使用sass的scss语法
  5. JS学习记录------JS基本指令
  6. java用POI操作excel——随便写一下,最基础的东西
  7. EasyPR源码剖析(1):概述
  8. 安装swoole
  9. Java 字符编码(三)Reader 中的编解码
  10. Java 初学UDP传输