您所在位置:网站首页 > 海量文档

&nbsp>&nbsp计算机&nbsp>&nbspC/C++资料

C语言用UDP 实现局域网聊天程序源码.doc13页

本文档一共被下载:次,您可全文免费在线阅读后下载本文档。

下载提示

1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。

2.该文档所得收入(下载+内容+预览三)归上传者、原创者。

3.登录后可充值,立即自动返金币,充值渠道很便利

#include

#include

#include

#include

#include

#include

#include

#include

#define CLIENT_LOGIN 100

#define CLIENT_CHAT 200

#define CLIENT_QUIT 300

#define SERVER_CHAT 400

#define SERVER_QUIT 500

struct node

{

char name[20];

struct sockaddr_in client_addr;

struct node *next;

};

struct message

{

long type;

char name[20];

char mtext[512];

};

struct node *create_list(void);

void insert_list(struct node *, char *, struct sockaddr_in *);

void delete_list(struct node *, char *);

void recv_message(int , struct node *);

void send_message(int , struct sockaddr_in *, pid_t );

void client_login(int , struct node *, struct message *, struct sockaddr_in *);

void client_chat(int , struct node *, struct message *);

void client_quit(int , struct node *, struct message *);

void server_chat(int , struct node *, struct message *);

void server_quit(int , struct node *, struct message *);

void brocast_msg(int , struct node *, struct message *);

void father_func(int sig_no)

{

return ;

}

int main(int argc, const char *argv[])

{

int socket_fd;

pid_t pid;

struct sockaddr_in server_addr;

struct node *head;

if (argc < 3)

{

fprintf(stderr, "usages : %s ip port\n", argv[0]);

exit(-1);

}

if ((socket_fd = socket(AF_INET, SOCK_DGRAM, 0)) < 0)

{

perror("failed to create socket");

exit(-1);

}

head = create_list();

server_addr.sin_family = AF_INET;

server_addr.sin_port = htons(atoi(argv[2]));

server_addr.sin_addr.s_addr = inet_addr(argv[1]);

if (bind(socket_fd, (struct sockaddr *)&server_addr, sizeof(server_addr)) < 0)

{

perror("failed to bind");

exit(-1);

}

if ((pid = fork()) < 0) //创建子经常

{

perror("failed to fork pid");

exit(-1);

}

if (pid == 0)

recv_message(socket_fd, head);

else

s

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名:

验证码:

匿名?

发表评论

c语言实现udp 聊天程序代码,C语言用UDP 实现局域网聊天程序源码.doc相关推荐

  1. 高斯投影正反算C语言程序代码,一个老师给的高斯投影正反算c++源码.doc

    一个老师给的高斯投影正反算c源码 //高斯投影正.反算 //6度带宽?? 54年北京坐标系 //高斯投影由经纬度 Unit:DD 反算大地坐标 含带号,Unit:Metres void GaussPr ...

  2. java串口发送十六进制数,本文实例为大家分享了Java实现串口通信的具体代码,供大家参考,具体内容如下1.介绍使用Java实现的串口通信程序,支持十六进制数据的发送与接收。 源码:...

    本文实例为大家分享了Java实现串口通信的具体代码,供大家参考,具体内容如下 1.介绍 使用Java实现的串口通信程序,支持十六进制数据的发送与接收. 源码:SerialPortDemo 效果图如下: ...

  3. 基于微信小程序共享停车位设计与实现SSM_car.rar(项目源码+数据库文件+微信小程序开发+后端java语言)

    主要功能实现了共享车位的创建,车位的管管理,创建车辆.车辆的管理.附近车位.显示车位的编号,车位的位置,车位的状态,车位.可以查看订单记录车位.停费时间,确认时间计费的时间.可以删除,订单也可以确认是 ...

  4. 美团饿了么外卖返利小程序公众号搭建外卖返利分销系统代cps源码

    美团饿了么外卖返利小程序公众号搭建外卖返利分销系统代cps源码 外卖CPS小程序源码分享 饿了么.美团优惠开发(外卖cps,三级裂变源码) 源码或搭建 http://y.mybei.cn/ 截图 功能 ...

  5. 抖音小程序基础之 目前提供哪些API(教程含源码)

    抖音小程序基础之 目前提供哪些API(教程含源码) 小程序开发框架提供丰富的 字节跳动宿主 原生 API,可以方便的调起 字节跳动宿主 提供的能力,如获取系统信息等.详细介绍请参考 API 文档. 通 ...

  6. Delphi:程序自己删除自己,适用于任何windows版本(含源码)

    Delphi:程序自己删除自己,适用于任何windows版本(含源码) function Suicide: Boolean; var   sei: TSHELLEXECUTEINFO;   szMod ...

  7. 2021最新外卖霸王餐小程序、H5、微信公众号版外系统源码|霸王餐美团/饿了么系统 粉丝裂变玩源码下载

    2021年了,你还在用淘宝客吗?赶紧跟上互联网的大势吧,外卖cps就是cps人群趋势! 个人.个体.企业均可使用 外卖霸王餐小程序.H5.微信公众号版外系统源码|霸王餐美团/饿了么系统 粉丝裂变玩 2 ...

  8. c语言贪吃蛇游戏源码下载,c语言贪吃蛇游戏源码.doc

    c语言贪吃蛇游戏源码.doc /*运行是按任意键开始,不过呢,反向也算输哟*/include include include include include include include defin ...

  9. 【整站程序】wordpress-RiPro-V2去授权WordPress主题虚拟收费主题源码下载

    [整站程序]RiPro-V2去授权WordPress主题RiPlus虚拟收费主题源码下载RiPro-V2是一个优秀的主题,首页拖拽布局,高级筛选,自带会员生态系统,超全支付接口,你喜欢的样子我都有!R ...

  10. 2023 QQ强制聊天加好友临时会话接口跳转单页HTML源码

    功能: 跳转QQ聊天界面:支持已开启临时会话的QQ用户进行聊天. 跳转加好友界面:解决了QQ设置不允许被搜索后无法加好友的问题. WPA临时会话:可通过网页直接跳转至聊天界面,与第一个按钮实现相似的功 ...

最新文章

  1. 数据竞争(data race)问题分析的利器——valgrind的Helgrind
  2. 柳传志:联想又遇新坎儿 要做斯巴达克方针
  3. 他们说头不铁,别做机器人
  4. dubbo源码解析(三十五)集群——cluster
  5. 搭建Ubuntu18.04+Anaconda3.x+Pycharm+SimpleITK(三)
  6. Ext Js MVC系列二 利用Application和Viewport进行应用程序初始化和页面布局
  7. OpenCV TSP(TravelingSalesman Problem)的实例(附完整代码)
  8. MySQL复制性能优化
  9. 『数据库』朴实无华的数据库绪论
  10. IDEA 2018 集成 MyBatis Generator 插件 详解、代码生成
  11. java写hive自定义函数_hive自定义函数的实现和执行
  12. java kill 线程_java – 如何在等待中杀死正在运行的线程?
  13. php中的css类怎么查找,CSS 样式表中的类和伪类
  14. RCP之病人信息系统开发总结(4):MVC模式之View层—透视图
  15. App消息推送 实现原理
  16. matlab aic sic,请教ADF检验时AIC准则和SIC准则不一致时怎么办?
  17. Mac CAD 安装完成后,打开注册机时出现 应用程序“02_注册机”不能打开。
  18. elasticsearch7.x Java High Level REST客户端封装工具
  19. 恶意进程 - 挖矿程序处理
  20. 诊断CAPL自动化(2)—— 封装了诊断发送的通用CAPL函数库

热门文章

  1. Flutter页面布局:Wrap组件
  2. 江苏电信苹果预售内部资料
  3. 解决HP笔记本安装XP SP3后出现系统蓝屏0x0000007E错误的方法
  4. python画鞭炮_python画图
  5. 细节决定成败——Java命名规范
  6. 一直报错IndentationError: unexpected indent
  7. 徐工、三一、中联、大陆等巨头云集,2020上海宝马展智能和数字化成看点
  8. SAP 系统中销项税多科目配置
  9. 408科目中的专业名词及英文缩写
  10. android 9.0 GMS 修改google 语音助手需求-- EEA版本需求