- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
scket网络编程inx下实现聊天室
SOCKET网络编程:Linux下实现聊天室
程序介绍:本聊天室程序在Ubuntu下,采用C语言实现,结构为Client/Server结构;
服务端程序通过共享存储区存储聊天数据,并发送给每个连接的客户端;
服务端程序和客户端程序都是通过父子进程分别负责发送和接收数据的,以避免数据冲撞;
需按以下格式调用客户端程序:client.exe 服务端主机IP 端口号(本程序设定为:3490) 用户名(在聊天室中显示的用户名)。
程序截图:
//--------------------------------服务端----------------------------------------------
//--------------------------------客户端1:真水无香--------------------------------------
//--------------------------------客户端2:蜡笔小新--------------------------------------
程序代码如下:
//--------------------------------server.c--------------------------------------------------
//包含工程所需的头文件
#includestdio.h
#includestdlib.h
#includesys/types.h //数据类型定义
#includesys/stat.h
#includenetinet/in.h //定义数据结构sockaddr_in
#includesys/socket.h //提供socket函数及数据结构
#includestring.h
#includeunistd.h
#includesignal.h
#includesys/ipc.h
#includeerrno.h
#includesys/shm.h
#includetime.h
#define PERM S_IRUSR|S_IWUSR
#define MYPORT 3490 //宏定义定义通信端口
#define BACKLOG 10 //宏定义,定义服务程序可以连接的最大客户数量
#define WELCOME |----------Welcome to the chat room! ----------| //宏定义,当客户端连接服务端时,想客户发送此欢迎字符串
//转换函数,将int类型转换成char *类型
void itoa(int i,char*string)
{
int power,j;
j=i;
for(power=1;j=10;j/=10)
power*=10;
for(;power0;power/=10)
{
*string++=0+i/power;
i%=power;
}
*string=\0;
}
//得到当前系统时间
void get_cur_time(char * time_str)
{
time_t timep;
struct tm *p_curtime;
char *time_tmp;
time_tmp=(char *)malloc(2);
memset(time_tmp,0,2);
memset(time_str,0,20);
time(timep);
p_curtime = localtime(timep);
strcat(time_str, ();
itoa(p_curtime-tm_hour,time_tmp);
strcat(time_str,time_tmp);
strcat(time_str,:);
itoa(p_curtime-tm_min,time_tmp);
strcat(time_str,time_tmp);
strcat(time_str,:);
itoa(p_curtime-tm_sec,time_tmp);
strcat(time_str,time_tmp);
st
您可能关注的文档
- PID课程设计积分微分比例运算电路.doc
- phtshp课件.ppt
- Physik im Sprt bmbf德国physik IM运动.ppt
- PLC课程设计全自动洗衣机1.doc
- PLC课程设计论文基于西门子S7300PLC的五层电梯模块化设计.doc
- PLC课程设计论文全自动洗衣机自动控制系统设计.doc
- PLC电气控制技术继电接触器自动控制系统.ppt
- PLC课程设计论文智能喷泉控制系统设计.doc
- PM061905 惠州炼化二期项目组临时用电安全管理细则.doc
- PM070002 惠州炼化二期项目组现场焊接质量管理细则.doc
- 2024年全国房地产估价师之估价原理与方法考试黑金试题(详细参考解析) .pdf
- 高纯高碳铬轴承钢及渗碳轴承钢行业相关投资计划提议 .pdf
- 2024部编版语文三年级上册第三单元大单元备课 .docx
- 2024年工业机器人系统操作员(高级工)职业技能鉴定考试题库(含答案) .pdf
- 国家开放大学电大《合同法》形考任务1含3网考题库答案 .pdf
- 双减”背景下初中英语作业设计案例 .docx
- 以患者为中心的罕见疾病药物研发试点工作(“关爱计划”)实施框架 .pdf
- 2024年一年级数学教学设计 .pdf
- 2024六上小语在柏林核心素养教案 .docx
- 《浅谈如何培养幼儿早期阅读能力与途径分析》.pdf
文档评论(0)