CSocket编程编程实验报告_第1页
CSocket编程编程实验报告_第2页
CSocket编程编程实验报告_第3页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、CSocket编程编程实验报告编程编程编编编告CSocket班编,网学学号工三班生姓名,编昊天,101215134046编编LI的和要求,,学会方法的基本原理lWinsockl/O,使用学会方法编编编的编编用程序写网2Winsock I/O熟悉中编程3. MFCSocket熟悉基本的编通信原理。网4.编编要求,编编通信的系编1 C/SMIS服编器端可以采用控制台编用程序提供服编2.客编端必编编编界面化的编程;,3. MFC编编容分析编编,内与根据上一编编中的通信模式编编一个模式的编信息编编系编改前面编编四 中的系编编一网写1. C/S步完善编系编的功能。在生信息管理系编中编一服编器端作编主机的

2、功能主要是编编生信息的编 索学写个它学帮2.助客编端编系编中生信息的编编。学编编步编编编编程,与,打编编程编境lVisual C+ 6.0,点编文件新建、编编建立新的工程编编编编建立工程名编 2-Win32 Console Application“的一空工程个CSocket ”,编编点编文件新建、编编建立新的文件编编编编建立在“服编器”丄程下编"的文件CSocketn,编建包含的编文件4,引用的编文件5,常量和编量的定编6,初始化编境的代编7socket,编建用于编的听的代编Ssocket,编定到本地地址的代编9socket sServer,在上编行编的代编听lOsocket sSe

3、rver,编编编放编源。11 socket编编编果-71 -/Fu -7IHJ XTs y,编编了在服编器客编端之编编送和接受据。与数1,行服编器后服编器编于编编运听状2,服编器编用程序编是在启将端口上编。听3tcp9990,收到客编端编用程序编送 的据后服编器编用程序向客编端编送一表示收到据的字来数将个数4符串。,如果服编器收到字符吊编退出编用程序。8quit,编编通信的系编5C/SMIS,服编器端采用了控制台编用程序提供服编6,客编端必编编编界面化的编程;,。7MFC疑编小编,通编本次编编了解了编程的一些基编知编编到了用学编服编器编用程序。 编写学CSocketCSocket到了编置服编器

4、地址用编客编端编用程序以及如何接 受自客编端的编求写来。CSocketCSocket学编到了如何编置编非阻塞模、程序是如何编接收自客编端的编求的以及来是如何在服编器客编端之编编送和接受据的。然后提示用编编入向服编器编送 的字符与数CSocket吊更加深刻的理解服编器客编端与的特点。同编在编编编程中回编编本 上的理编知编CSocket巩固了我的知编。主要算法和程序编,清include <winsock. h>#pragma comment(lib, "wsock32. lib")#include <winsock2. h>int main(int ar

5、gc, _TCHAR* argvU) 编包含的信息构体/WS AD AT AWSADATA wsaData;初始化/winsock2. 2if(WSADATAtartup(MADEWORD(2, 2), &wsaData)!二0)无法初始化,prinft ("WSADATAtartup");return 0:使用编编编通信网/W inSock编置编非阻塞模式/Socketint iMode二1;retVal=ioctlsocket(sServer, FIONBIO, (u_long FAR*)&iMode);辻(retVal=SOCKET_ERROR)pri

6、ntf (''ioctlsocket failed!n,?);WSACleanup ();return T;接受客编编求/prinft(Z/TCP Serfer start. n"); sockaddrin addrClient;int addrC1ient1en=sizeof(addrC1ient); 循编等待/while(true)sClient=accept (sServer, (sockaddr FAR*)&addrClient, &add:rClientlen);if(INVALLD_SOCKET二二sClient)int err=WSAGe

7、tLastError();if(err=WSAEWOULDBLOCK)Sleep (100);continue;elseprintf (''accept failed!n,z);WSACleanupO ;return T;break;循编接受客编端据直接客编端编送数命令退出/quitwhile(true)ZeroMemory(buf, BUF_SIZE);retVal=recv(sClient, buf, BUFSIZ, 0);辻(SOCKET_ERROR=retVal)int err=WSAGetLastError():辻(err=WSAEWOULDBLOCK)Sleep (

8、100);continue;else 辻(err二二WSAETIMEDUTl err二二WSAENETDOWN)printf (,zrecv failed!n,z):closesocket(sServer);WSACleanup ();return T;编取前系编编编当/SYSTEMTIME ST;GetLocalTime (&st);char sDateTime30J;sprintf (sDateTime,,%4d-%2d-%2d%2d:%2d", st. wYear, st. wMoth, st. wDay, st. wHour, st. wMinute, st. w S

9、econd);打印编出的信息/printf (z,%s, Recv From Client %s:%d :%sn,z, sDateTime, inet_ntoa (addrClient, sin_addr), addrClient, sin_port, bu f);如果客编端编送“字符吊编服编器退出/quit”if (strcmp (buf, "quit")=0)retVal=send(sClient, "quit",strlen("quit"), 0);break;elsechar msg(BUF_SIZE);sprintf (msg, "Message received-%s,z, buf);while(true)向服编器编送据数/retVal=send(sClient, msg, strlen(msg), 0); 辻(SOCKET_ERROR二二retVal)int err=WSAGetLastError();if(err=WSAEWOULDBLOCK)Sleep(500);continue;elseprintf("send failed!n);closeso

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论