c语言实现udp 聊天程序代码,C语言用UDP 实现局域网聊天程序源码.doc
您所在位置:网站首页 > 海量文档
 > 计算机 > C/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相关推荐
- 高斯投影正反算C语言程序代码,一个老师给的高斯投影正反算c++源码.doc
一个老师给的高斯投影正反算c源码 //高斯投影正.反算 //6度带宽?? 54年北京坐标系 //高斯投影由经纬度 Unit:DD 反算大地坐标 含带号,Unit:Metres void GaussPr ...
- java串口发送十六进制数,本文实例为大家分享了Java实现串口通信的具体代码,供大家参考,具体内容如下1.介绍使用Java实现的串口通信程序,支持十六进制数据的发送与接收。 源码:...
本文实例为大家分享了Java实现串口通信的具体代码,供大家参考,具体内容如下 1.介绍 使用Java实现的串口通信程序,支持十六进制数据的发送与接收. 源码:SerialPortDemo 效果图如下: ...
- 基于微信小程序共享停车位设计与实现SSM_car.rar(项目源码+数据库文件+微信小程序开发+后端java语言)
主要功能实现了共享车位的创建,车位的管管理,创建车辆.车辆的管理.附近车位.显示车位的编号,车位的位置,车位的状态,车位.可以查看订单记录车位.停费时间,确认时间计费的时间.可以删除,订单也可以确认是 ...
- 美团饿了么外卖返利小程序公众号搭建外卖返利分销系统代cps源码
美团饿了么外卖返利小程序公众号搭建外卖返利分销系统代cps源码 外卖CPS小程序源码分享 饿了么.美团优惠开发(外卖cps,三级裂变源码) 源码或搭建 http://y.mybei.cn/ 截图 功能 ...
- 抖音小程序基础之 目前提供哪些API(教程含源码)
抖音小程序基础之 目前提供哪些API(教程含源码) 小程序开发框架提供丰富的 字节跳动宿主 原生 API,可以方便的调起 字节跳动宿主 提供的能力,如获取系统信息等.详细介绍请参考 API 文档. 通 ...
- Delphi:程序自己删除自己,适用于任何windows版本(含源码)
Delphi:程序自己删除自己,适用于任何windows版本(含源码) function Suicide: Boolean; var sei: TSHELLEXECUTEINFO; szMod ...
- 2021最新外卖霸王餐小程序、H5、微信公众号版外系统源码|霸王餐美团/饿了么系统 粉丝裂变玩源码下载
2021年了,你还在用淘宝客吗?赶紧跟上互联网的大势吧,外卖cps就是cps人群趋势! 个人.个体.企业均可使用 外卖霸王餐小程序.H5.微信公众号版外系统源码|霸王餐美团/饿了么系统 粉丝裂变玩 2 ...
- c语言贪吃蛇游戏源码下载,c语言贪吃蛇游戏源码.doc
c语言贪吃蛇游戏源码.doc /*运行是按任意键开始,不过呢,反向也算输哟*/include include include include include include include defin ...
- 【整站程序】wordpress-RiPro-V2去授权WordPress主题虚拟收费主题源码下载
[整站程序]RiPro-V2去授权WordPress主题RiPlus虚拟收费主题源码下载RiPro-V2是一个优秀的主题,首页拖拽布局,高级筛选,自带会员生态系统,超全支付接口,你喜欢的样子我都有!R ...
- 2023 QQ强制聊天加好友临时会话接口跳转单页HTML源码
功能: 跳转QQ聊天界面:支持已开启临时会话的QQ用户进行聊天. 跳转加好友界面:解决了QQ设置不允许被搜索后无法加好友的问题. WPA临时会话:可通过网页直接跳转至聊天界面,与第一个按钮实现相似的功 ...
最新文章
- 数据竞争(data race)问题分析的利器——valgrind的Helgrind
- 柳传志:联想又遇新坎儿 要做斯巴达克方针
- 他们说头不铁,别做机器人
- dubbo源码解析(三十五)集群——cluster
- 搭建Ubuntu18.04+Anaconda3.x+Pycharm+SimpleITK(三)
- Ext Js MVC系列二 利用Application和Viewport进行应用程序初始化和页面布局
- OpenCV TSP(TravelingSalesman Problem)的实例(附完整代码)
- MySQL复制性能优化
- 『数据库』朴实无华的数据库绪论
- IDEA 2018 集成 MyBatis Generator 插件 详解、代码生成
- java写hive自定义函数_hive自定义函数的实现和执行
- java kill 线程_java – 如何在等待中杀死正在运行的线程?
- php中的css类怎么查找,CSS 样式表中的类和伪类
- RCP之病人信息系统开发总结(4):MVC模式之View层—透视图
- App消息推送 实现原理
- matlab aic sic,请教ADF检验时AIC准则和SIC准则不一致时怎么办?
- Mac CAD 安装完成后,打开注册机时出现 应用程序“02_注册机”不能打开。
- elasticsearch7.x Java High Level REST客户端封装工具
- 恶意进程 - 挖矿程序处理
- 诊断CAPL自动化(2)—— 封装了诊断发送的通用CAPL函数库