基于SOCKET开发文本服务器客户端文本传输程序

基于SOCKET开发文本服务器客户端文本传输程序

ID:42622740

大小:117.71 KB

页数:8页

时间:2019-09-19

基于SOCKET开发文本服务器客户端文本传输程序_第1页
基于SOCKET开发文本服务器客户端文本传输程序_第2页
基于SOCKET开发文本服务器客户端文本传输程序_第3页
基于SOCKET开发文本服务器客户端文本传输程序_第4页
基于SOCKET开发文本服务器客户端文本传输程序_第5页
资源描述:

《基于SOCKET开发文本服务器客户端文本传输程序》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、一、实验目的与实验要求1、实验目的使用c++6.0或c#,基于SOCKET开发一个简单的C/S文本传输程序2、实验要求客户端能够发送由标准输入得到的文本,服务器能够接收并将其显示在标准输出上。二、实验设备(环境)及要求计算机系统:windows8.1软件环境:vc++6.0三、实验内容与步骤1、实验1(1)实验内容1、服务器端先初始化socket,并绑定端口,对端口进行监听,等待客户端的连接。2、客户端初始化socket,连接服务器,并发送数据给服务器。3、服务器接受客户端的数据,并返回回复信息。(2)主要步骤工作原理:代码:服务器#incl

2、ude#include#pragmacomment(lib,"ws2_32.lib")intmain(){//初始化WORDsockVersion=MAKEWORD(2,2);WSADATAwsaData;if(WSAStartup(sockVersion,&wsaData)!=0){return0;}//创建套接字SOCKETslisten=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);if(slisten==INVALID_SOCKET){printf("socke

3、terror!");return0;}//绑定IP和端口sockaddr_insin;sin.sin_family=AF_INET;sin.sin_port=htons(55555);sin.sin_addr.S_un.S_addr=INADDR_ANY;if(bind(slisten,(LPSOCKADDR)&sin,sizeof(sin))==SOCKET_ERROR){printf("binderror!");return0;}//开始监听if(listen(slisten,5)==SOCKET_ERROR){printf("liste

4、nerror!");return0;}SOCKETClient;sockaddr_inremoteAddr;intnAddrlen=sizeof(remoteAddr);charrevData[255];printf("等待连接...");Client=accept(slisten,(SOCKADDR*)&remoteAddr,&nAddrlen);if(Client==INVALID_SOCKET){printf("accepterror!");return0;}printf("接受到一个连接:%sr",inet_ntoa(rem

5、oteAddr.sin_addr));//接收数据while(1){intret=recv(Client,revData,255,0);if(ret>0){revData[ret]=0x00;printf("来自客户端的信息:");printf(revData);printf("");}//发送确认信息char*sendData="发送成功。";send(Client,sendData,strlen(sendData),0);}closesocket(slisten);WSACleanup();return0;}客户端#inclu

6、de#include#pragmacomment(lib,"ws2_32.lib")intmain(){WORDsockVersion=MAKEWORD(2,2);WSADATAdata;if(WSAStartup(sockVersion,&data)!=0){return0;}SOCKETsclient=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);if(sclient==INVALID_SOCKET){printf("invalidsocket!");retu

7、rn0;}sockaddr_inserAddr;serAddr.sin_family=AF_INET;serAddr.sin_port=htons(55555);serAddr.sin_addr.S_un.S_addr=inet_addr("127.0.0.1");if(connect(sclient,(sockaddr*)&serAddr,sizeof(serAddr))==SOCKET_ERROR){printf("connecterror!");closesocket(sclient);return0;}//发送和接收printf(

8、"连接成功");while(1){char*sendData,*q;sendData=(char*)malloc(sizeof(char)*20);q=send

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

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

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