设计聊天室实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
设计性实验项目简介
fgets( SERV_HOST_ADDR, MAX_LINE, fd);
fscanf( fd, "%d", &SERV_TCP_PORT);
fclose( fd);
bzero( (char*)&serv_addr, sizeof( serv_addr));
serv_addr.sin_family =AF_INET;
serv_addr.sin_addr.s_addr =inet_addr( SERV_HOST_ADDR);
serv_addr.sin_port =htons( SERV_TCP_PORT);
if ( ( sockfd = socket( AF_INET,SOCK_STREAM,0))<0) {
printf( "client:can`t open stream socker.\n");
fflush( stdout);
return( 0);
}
if ( connect( sockfd, ( struct sockaddr *)&serv_addr,
sizeof( serv_addr))<0) {
printf( "client:can`t connect to server\n");
fflush( stdout);
return( 0);
}
return( sockfd);
}
运行结果:
服务器端运行结果,显示端口号并处于等待连接状态:
群聊功能,四个客户端代表四个用户,通过服务器的转发实现通信。
显示所有的用户功能,通过发送“list”由客户端发送所有的用户名字。
私聊功能,通过“*”符号作为标识符实现两个用户之间的私有通信。
实验感悟
本实验的私聊功能较为难实现,在老师和同学的帮助下经过一次次的验证和修改最终实现了该功能,最终本实验可以群聊也可以私聊。本实验利用的是C语言编程,需要C语言和linux 网络编程基础,尤其对socket编程和C语言数组和指针的应用,锻炼了我们对两者的编程能力,在修改代码的过程中加深了我们对编程的理解。
注:开课时间填本实验项目所有实验班的具体上课时间,如11月12日下午3:00-5:00。