资源描述:
《linux课程设计报告书钱进飞》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、Linux操作系统与程序设计课程设计报告书指导教师:报告人:30第一章绪论1.1实验项目目的本次课程设计是为了加强对Linux系统下的编程的各种知识点的整合与灵活运用,让我们更加熟悉Linux下的编程操作。重点在Linux下的socket编程,了解TCP,UDP等协议的使用,并完成课程设计题目。1.2课程设计的实验环境硬件:PC机软件:redhatLinux系统Vim编译器1.3课程设计总体要求在Lniux下实现网络聊天,包括私聊,群聊等功能第二章系统方案本实验是一个Linux下的网络即时通信工具,系统功能与模块划分如下2.1系统功能系统主要实
2、现三大功能:1.注册与登陆系统2.群聊3.私聊302.2登录聊天系统功能模块图客户端私聊退出群聊解除锁定直接私聊锁定私聊对象聊天系统服务器登录处理关闭服务器聊天信息发送处理用户退出用户管理30第三章实验项目的人员组成及职责划分我们实验组:***(专业及班级:软件工程091班,学号*********),小组组长,负责代码编写及修改及课程设计报告书编写第四章设计与实现4.1系统结构4.1.1系统结构图发送消息发送消息模块服务器转发消息建立用户链表,执行添加用户,删除用户,查询用户等操作。客户端接受消息模块接受消息4.2客户端界面登录成功:……服务器
3、的实现用户登录30elseif(op==2)//登陆{charuserno[10];charpwd[10];inti=0,j;charcommand[100];charresult[100]="";j=0;while(pH->d_H->next->d->buffer[i]!='?'&&pH->d_H->next->d->buffer[i]!=' '){userno[j++]=pH->d_H->next->d->buffer[i++];}userno[j]=' ';i++;j=0;while(pH->d_H->next->d->buffer[
4、i]!='~'&&pH->d_H->next->d->buffer[i]!=' '){pwd[j++]=pH->d_H->next->d->buffer[i++];}pwd[j]=' ';strcpy(command,"select*fromuserwhereuser_no=");strcat(command,"'");strcat(command,userno);strcat(command,"'");data_server->action=2;if(op_mysql(command,result)==0)//楠岃瘉鐢ㄦ埛鍙?{//鐢
5、ㄦ埛涓嶅瓨鍦?data_server->command=2;strcpy(data_server->send_name,"server");strcpy(data_server->recieve_name,pH->name);data_server->recieve_fd=pH->fd;strcpy(data_server->buffer,"Don'thavethisuser!");}else{strcat(command,"anduser_pwd=");strcat(command,"'");strcat(command,pwd);strc
6、at(command,"'");result[0]=' ';30if(op_mysql(command,result)==0)//楠岃瘉瀵嗙爜{data_server->command=2;strcpy(data_server->send_name,"server");strcpy(data_server->recieve_name,pH->name);data_server->recieve_fd=pH->fd;strcpy(data_server->buffer,"passworderror!");}else{data_server->
7、command=0;strcpy(data_server->send_name,"server");strcpy(data_server->recieve_name,pH->name);data_server->recieve_fd=pH->fd;strcpy(data_server->buffer,"Loginsuccess!");strcpy(pH->name,userno);}}转发聊天消息voiddeal(Link*pH){if(pH->d_H->next==NULL)return;intaction,command;action=pH
8、->d_H->next->d->action;command=pH->d_H->next->d->command;switch(action){cas