- 1、本文档共30页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Linux操作系统与程序设计
课程设计报告书
指导老师:
报告组员:
2013年7月5号
目 录
一、实验项目目的 1
二、实验项目的人员组成及指责划分 1
三、实验项目的功能及模块划分 1
四、设计与实现 3
4.1 系统结构 3
4.1.1系统结构图 3
4.2 客户端界面 3
4.2.1 注册 3
4.2.2 登录 4
4.2.3 界面设计 4
4.3服务器的实现 6
4.3.1 用户登录 6
4.3.2 转发聊天消息 7
4.4 通信模块的实现 8
4.4.1 通信方式的选择 11
五、测试与调试 11
六、总结 11
七、附录:程序代码 12
一.实验项目目的
随着嵌入式在生活年中的应用越来越广泛,嵌入式Linux下的socket网络编程也越来越热门。本次课程设计是为了加强对LINUX系统下的编程的各种知识点的整合与灵活运用,让我们更加熟悉Linux下的编程操作,重点在Linux下的socket编程,了解TCP,UDP等协议的使用,并完成课程设计题目。
二.实验项目的人员组成及指责划分
我们实验组总共由2个同学组成,姓名,专业,学号及职责划分如下:
① (专业及班级:网络工程102班 学号:1),小组 组长,负责整体设计和模块划分。
②(专业班级:网络工程102班,学号:13),负责代码编写及修改.
三.实验项目的功能及模块划分
1.系统功能
系统主要实现三大功能: 1.注册与登陆系统
2.群聊
3.私聊
2. 功能模块图 客户端
服务器
四、设计与实现
4.1 系统结构
4.1.1 系统结构图
4.2 客户端界面
4 . 2 . 1注册
4.2.2 登录
登录界面设计截图
4.2.2 界面设计
界面截图
本系统直接在终端环境下运行,具体实现代码如下:
while (1) {
memset(buf,\0,BUFFERSIZE);//必须清空否则会有虚假数据
memset(buf_temp,\0,BUFFERSIZE);
if (recvfrom(socket_fd, buf, sizeof(buf), 0, NULL, NULL) 0) {
perror(接收消息失败);
}
if (strncmp(Q,buf,1) == 0) //接收服务器下线通知
{
printf(\033[22;30m%s, buf+1); //输出黑色文字系统消息
kill(getppid(), SIGUSR2);
kill(getpid(), SIGUSR2);
}
else if (strncmp(A,buf,1) == 0)
{
printf(\033[22;96m%s, buf+1); //输出灰色文字系统消息
}
else if (strncmp(P,buf,1) == 0)
{
printf(\033[22;31m%s, buf+1); //输出红色文字系统消息
}
else if (strncmp(R,buf,1) == 0)
{
if (strncmp(buf+1, name, strlen(name)) == 0)
{
sprintf(buf_temp, 我%s, buf + strlen(name)+1);
printf(\033[22;32m%s, buf_temp);//输出黄色文字自己的消息
}
else{
printf(\033[22;33m[收到消息@]%s, buf+1); //输出绿色文字
}
}
printf(\033[22;30m);//恢复黑色
}
4.3服务器的实现
服务器运行界面:
文档评论(0)