通信工程系制

通信工程系制

ID:38380311

大小:211.00 KB

页数:14页

时间:2019-06-11

通信工程系制_第1页
通信工程系制_第2页
通信工程系制_第3页
通信工程系制_第4页
通信工程系制_第5页
资源描述:

《通信工程系制》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、通信工程系制课前资料:l参考资料查阅工具:man,如manls,manmake;lC编写手册,机器上“linuxc参考”;lShell编写手册,机器上“linuxshell参考“;lMakefile编写手册,机器上“makefile参考“;lAwk编写手册,机器上“awk参考“;l经典书籍,学习linux,unix的最佳书籍“Linux,unixshell编程指南“1、实验题目:熟悉linux操作系统下最简单实用的通信程序socket.最好能全部完成,否则按照完成情况打分。2、实验目的:通过对socket的编写,可以了解linux下最

2、简单实用的进程通信方法,为后续信号灯、消息队列等学习奠定基础。3、实验设备及环境:1.硬件设备:PC机一台2.软件环境:安装Linux操作系统,并安装相关的程序开发环境,如CC++tshbsh等编程语言环境。4、实验内容及要求:(1)用C语言编程实现linux简单的聊天室功能。n用户程序命名为client.c;服务器程序命名为server.cn绑定端口等信息见实验方法内容;n要求client可以通过socket连接serveru在client,提示输入服务器ipu若连接server的socket建立成功,返回提示信息uClien

3、t输入的聊天内容在client端(多个client端)和server端同时显示;u多个client可同时接入server,进入聊天室,最多支持20个client;uClient端输入quit退出连接,server端提示client退出。u可选择使用多线程实现多客户端;u其他细节见输出结果;五、实验方法内容1.需要的头文件#include#include#include#include#include#include#

4、include#include#include#include#include2.主要的常量变量客户端:#defineTRUE1#definePORT5000intquit=0;//quit表示是否用户确定退出服务器端:#defineMAXLINE1000//在一条消息中最大的输出字符数#defineLISTENQ20//最大监听队列#definePORT5000//监听端口#defineMAXFD20//最大的在

5、线用户数量void*get_client(void*);inti,maxi=-1;//maxi表示当前client数组中最大的用户的i值intclient[MAXFD];3.主要模块客户端:intmain(void)void*get_server(void*sockfd)//get_server函数,用于接受服务器转发的消息服务器端:intmain()void*get_client(void*sockfd)//运行get_client函数,处理用户请求六.代码考虑大家没做过,给几个例子:参考socket编程.pdf/*******客户

6、端程序client.c************/#include#include#include#include#include#include#include#include#include#include#include#defineTRUE1#definePORT5000staticints

7、ockfd;voidrecvfromserver()//接受服务器消息线程入口函数{charmes[1024];intnbytes=0;while(1){memset(mes,0,sizeof(mes));nbytes=read(sockfd,mes,sizeof(mes));if(nbytes>0){printf("%s",mes);mes[nbytes]='';}}pthread_exit(NULL);}intmain(intargc,char*argv[]){//intsockfd;charbuffer[1024];st

8、ructsockaddr_inserver_addr;structhostent*host;intportnumber,nbytes;charstrhost[16];charclientname[20];charmes[

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。