socket网络编程 实验报告new

socket网络编程 实验报告new

ID:19449551

大小:42.00 KB

页数:5页

时间:2018-10-02

socket网络编程 实验报告new_第1页
socket网络编程 实验报告new_第2页
socket网络编程 实验报告new_第3页
socket网络编程 实验报告new_第4页
socket网络编程 实验报告new_第5页
资源描述:

《socket网络编程 实验报告new》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、大连民族学院计算机科学与工程学院实验报告实验题目:socket编程综合实验课程名称:网络编程技术实验类型:□演示性□验证性□操作性□设计性■综合性专业:软件工程班级:2010-2姓名:杨腾飞学号:2010082225实验日期:2013年5月13日实验地点:多媒体机房(1)实验学时:4实验成绩:指导教师签字:2013年5月28日一实验目的与要求实验目的:认真阅读课程代码,并在通信功能之上设计和实现一个简单的聊天程序。实验内容:练习使用socket编写客户/服务程序,掌握socket的使用方法,熟悉并掌握多

2、线程的概念二总的设计思想及语言编程语言:C设计思想:让客户端与服务器建立链接即可通信,服务端建立套接字的大致步骤:1.建立socket。2。bind绑定特定的端口。3。listen监听特定的端口。4.accept,当有客户端连接服务器端口时,accept接收信息,并返回新的套接字描述符,提供给操作5.根据实际需求,write,read,send,recv等操作6.关闭套接字。客户端大致步骤:1.创建socket.2.根据服务器地址,connect连接到特定服务器。3.write,read等读写操作。4.

3、关闭套接字。三源程序/****************************服务器端*********************/#include#include#includevoid main(){WORD wVersionRequested;WSADATA wsaData;int err;wVersionRequested=MAKEWORD(1,1);err=WSAStartup(wVersionRequested,&wsaData);

4、if(err!=0){return;}if(LOBYTE(wsaData.wVersion)!=1

5、

6、HIBYTE(wsaData.wVersion)!=1){WSACleanup();return;}SOCKET sockSrv=socket(AF_INET,SOCK_STREAM,0);SOCKADDR_IN addrSrv;addrSrv.sin_addr.S_un.S_addr=htonl(INADDR_ANY);addrSrv.sin_family=AF_INET;addrSrv.sin_po

7、rt=htons(6000);bind(sockSrv,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));listen(sockSrv,6);char sendBuf[100];char recvBuf[100];char tempBuf[100];SOCKADDR_IN addrClient;int len=sizeof(SOCKADDR);while(1){printf("waiting for client");SOCKET sockConn=accept(sockS

8、rv,(SOCKADDR*)&addrClient,&len);recv(sockConn,tempBuf,100,0);if(tempBuf[0]!='q'){sprintf(recvBuf,"%s say: %s",inet_ntoa(addrClient.sin_addr),tempBuf);printf("%s",recvBuf);printf("please input your data,server:");gets(sendBuf);send(sockConn,sendBuf,st

9、rlen(sendBuf)+1,0);}else{printf("%s request to quit the chat platform",inet_ntoa(addrClient.sin_addr));send(sockConn,"q",strlen("q")+1,0);closesocket(sockConn);break;}}closesocket(sockSrv);WSACleanup();}/****************************客户端*******************

10、**/#include#include#include//#pragma comment(lib,"ws2_32.lib")void main(){WORD wVersionRequested;WSADATA wsaData;int err;wVersionRequested=MAKEWORD(1,1);err=WSAStartup(wVersionRequested,&wsaD

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

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

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