当前位置: 首页 > news >正文

网站关键词优化哪家正规金麦建站官网

网站关键词优化哪家正规,金麦建站官网,南通启益建设集团有限公司网站,网站的开发流程可以分为哪三个阶段成都信息工程学院计算机网络课程实验三 本文关键词#xff1a;成都#xff0c;计算机网络#xff0c;信息工程学院#xff0c;课程#xff0c;实验成都信息工程学院计算机网络课程实验三 本文简介#xff1a;计算机网络实验报告实验三#xff1a;编写客户服务器程序班级…成都信息工程学院计算机网络课程实验三 本文关键词成都计算机网络信息工程学院课程实验成都信息工程学院计算机网络课程实验三 本文简介计算机网络实验报告实验三编写客户服务器程序班级xxxxx姓名xxxxxxxxxxxxx学号xxxxxxxxx日期xxxxxxxx一、实验目的学习TCP/UDP协议套接字编程深入理解客户服务器程序的原理以及端口作用等。二、实验内容编写客户服务器程序服务器运行后等待客户连接一旦收到客户送来的成都信息工程学院计算机网络课程实验三 本文内容计算机网络实验报告实验三编写客户服务器程序班级xxxxx姓名xxxxxxxxxxxxx学号xxxxxxxxx日期xxxxxxxx一、实验目的学习TCP/UDP协议套接字编程深入理解客户服务器程序的原理以及端口作用等。二、实验内容编写客户服务器程序服务器运行后等待客户连接一旦收到客户送来的信息立即回送回去。客户机等待用户输入信息然后发送给服务器。并接受服务器回送回来的信息。所有的信息均需显示在屏幕上。三、程序实现设计方法编写客户服务器程序服务器运行后等待客户连接一旦收到客户送来的信息立即送回去。客户机等待用户输入信息然后发送给服务器。并接受服务器回送回来的信息。所有的信息均需显示在屏幕上。可以每2个人一组一个负责服务器端一个负责客户端。(自己协商使用udp还是tcp方式端口号)上机实验过程1、启动winXP,运行vc程序2、新建一个文件录入编辑好的服务器程序或客户程序3、分别以server.c或client.c保存4、打开build/compile菜单系统会自动建立一个新的工程然后完成编译工作5、打开project/settings.菜单,在对话框的link标签下找到projectoptions:编辑框在其中添加“WS2_32.LIB”6、打开build/build菜单,系统生成执行程序server.exe或client.exe7、分别运行server.execlient.exe观察两个程序运行结果四、源程序服务器端程序/****************************************************Windows环境下使用VC编写的TCP通信服务器端程序在编译这个程序时,需要在工程设置项目--〉连接项目中添加如下两项Ws2_32.lib和Winmm.lib否则编译后链接生成可执行文件时会出错服务器程序在单机内的测试运行方法server[监听端口缺省为9999]程序中的函数列表intInitSockets(void)插口(套接字)初始化voidServeAClient(LPVOIDlpv)为客户提供服务的函数intServerLoop(SOCKETsd_listen,intisMultiTasking)服务器循环函数服务期间总是在这个函数中循环********************************************************/#include#include#include/*由于Winsock目前有两个版本2.2和1.1所以我们首先必须判断系统所支持的Winsock版本这就要靠WSAStartup函数了。另外还有一个WSACleanup函数这两个函数是Winsock编程必须调用的其中WSAStartup函数的功能是初始化WinsockDLL因为在Windows下Socket是以DLL的形式实现的。1.1版本的DLL为Winsock.dll,而2.2版本的DLL则为Wsock32.dll其中在2.2版本的系统中对Winsock1.1函数的调用会由Wsock32.dll自动映射到Winsock.dll。WSAStartup函数的功能就是初始化DLL其函数原型为:intWSAStartup(WORDwVersionRequested,LPWSADATAlpWSAData);其第一个参数为你所想需要的Winsock版本低字节为主版本高字节为副版本由于目前Winsock有两个版本1.1和2.2因此该参数可以是0x101或0x202第2个参数是一个WSADATA结构用于接收函数的返回信息WSAStartup函数调用成功会返回0否则返回非0值由于Win95WinNT4自带的Winsock是1.1版本的所以如果你的程序是基于Winsock2.2的那很可能无法在上面运行。因此如果你希望你写的程序被所有Windows平台支持的话最好将其声明成1.1版的不过这样将无法使用很多Winsock2.2才有的特性至于WSACleanup的用法很简单用“WSACleanup();”就行了另外在DLL内部维持着一个计数器只有第一次调用WSAStartup才真正装载DLL以后的调用只是简单的增加计数器而WSACleanup函数的功能则刚好相反每调用一次使计数器减1当计数器减到0时DLL就从内存中被卸载因此你调用了多少次WSAStartup就应相应的调用多少次的WSACleanup/intInitSockets(void){WSADATAwsaData;WORDwVersionRequested;interr;/*AskforWinsock1.1functionality/wVersionRequestedMAKEWORD(1,1);errWSAStartup(wVersionRequested,if(err!0){printf(“Error%d:Winsocknotavailable/n“,err);return1;}return0;}#defineWSA_ERROR(x){printf(“Error%d:%s/n“,/WSAGetLastError(),x);return1;}intServerLoop(SOCKETsd_listen,intisMultiTasking);main(intargc,char*argv){SOCKETsd_listen;interr;u_shortiPort;structsockaddr_inaddr_srv;structhostentptrHost;iPort(argc2)?atoi(argv[1]):9999;//从命令行中提取服务器监控的端口号如果命令行没有带数字格式的端口号则定为9999InitSockets();//初始化套接字/*创建套接字有两个函数socket和WSASocket,前者是标准的Socket函数而后者是微软对Socket的扩展函数。socket函数有3个参数第一个是指定通信发生的区域在UNIX下有AF_UNIX、AF_INET、AF_NS等而在Winsock1.1下只支持AF_INET到了2.2则添了AF_IRDA(红外线通信)、AF_ATM(异步网络通信)、AF_NS、AF_IPX等第2个参数是套接字的类型在AF_INET地址族下有SOCK_STREAM、SOCK_DGRAM、SOCK_RAW三种套接字类型。SOCK_STREAM也就是通常所说的TCP而SOCK_DGRAM则是通常所说的UDP而SOCK_RAW则是用于提供一些较低级的控制的第3个参数依赖于第2个参数用于指定套接字所用的特定协议设为0表示使用默认的协议。socket函数调用成功返回一个套接字描述符错误则返回SOCKET_ERROR。/sd_listensocket(PF_INET,SOCK_STREAM,0);if(sd_listenINVALID_SOCKET){printf(“Error:outofsocketresources/n“);return1;}/*接下来要为服务器端定义的这个监听的socket指定一个地址及端口(Port)这样客户端才知道要连接哪一个地址的哪个端口为此我们首先设置数据结构structsockaddr中的参数随之调用bind()函数将socket邦定在指定的端口和地址上该函数调用成功返回0否则返回SOCKET_ERROR。sockaddr_in结构的sinaddrs_addr成员被设置为INADDR_ANY意味着由操作系统给socket自动指定一个最有效的IP地址。/addr_srv.sin_familyPF_INET;addr_srv.sin_addr.s_addrhtonl(INADDR_ANY);addr_srv.sin_porthtons(iPort);errbind(sd_listen,(conststructsockaddr)if(errINVALID_SOCKET)WSA_ERROR(“Error:unabletobindsocket/n“)/*当服务器端的Socket对象绑定完成之后,服务器端必须通知操作系统为这个socket建立一个监听队列来接收客户端的连接请求。listen()函数使服务器端的Socket进入监听状态并设定可以建立的最大连接数。该函数调用成功返回0否则返回SOCKET_ERROR。/errlisten(sd_listen,SOMAXCONN);if(errINVALID_SOCKET)WSA_ERROR(“Error:listenfailed/n“)//程序进入服务循环函数ServerLoop(sd_listen,1);printf(“Serverisdown/n“);WSACleanup();return0;}/*如果客户端发来HELLOSERVER那么服务器端将回送HELLOCLIENT不符合的输入服务器端将没有响应/voidServeAClient(LPVOIDlpv){SOCKETsd_accept(SOCKET)lpv;constcharmsg“HELLOCLIENT“;charresponse[4096];memset(response,0,sizeof(response));recv(sd_accept,response,sizeof(response),0);if(strcmp(response,“HELLOSERVER“)){printf(“Application:clientnotusingexpected““protocol%s/n“,response);}elsesend(sd_accept,msg,strlen(msg)1,0);closesocket(sd_accept);}#defineMAX_SERVED3//服务器端的循环函数服务期间总是在这个函数中运行intServerLoop(SOCKETsd_listen,intisMultiTasking){SOCKETsd_accept;structsockaddr_inaddr_client;interr,nSize;intnumServed0;HANDLEhandles[MAX_SERVED];intmyID;//主循环体服务期间总是在这个结构内循环while(numServed#includeintInitSockets(void){WSADATAwsaData;WORDwVersionRequested;interr;/*AskforWinsock1.1functionality/wVersionRequestedMAKEWORD(1,1);errWSAStartup(wVersionRequested,if(err!0){printf(“Error%d:Winsocknotavailable/n“,err);return1;}return0;}#defineWSA_ERROR(x){printf(“Error%d:%s/n“,/WSAGetLastError(),x);return1;}//voidInitSockets(void);main(intargc,char*argv){SOCKETsd_client;interr;u_shortiPort;structsockaddr_inaddr_srv;structhostentptrHost;charresponse[4096];charpszHost;charmsg“HELLOSERVER“;if(argc3){pszHostargv[1];iPortatoi(argv[2]);}else{printf(“Usage:/tclient1[hostname][portno]“);return1;}InitSockets();sd_clientsocket(PF_INET,SOCK_STREAM,0);if(sd_clientINVALID_SOCKET)WSA_ERROR(“nomoresocketresources“)//输入了数字格式的主机名则直接转换否则通过gethostbyname获取主机IPif(atoi(pszHost)){u_longip_addrinet_addr(pszHost);ptrHostgethostbyaddr((char)}elseptrHostgethostbyname(pszHost);if(!ptrHost)WSA_ERROR(“cannotresolvehostname“)addr_srv.sin_familyPF_INET;memcpy((char)addr_srv.sin_porthtons(iPort);//向服务器发出连接请求errconnect(sd_client,(structsockaddr)if(errINVALID_SOCKET)WSA_ERROR(“cannotconnecttoserver“)printf(“Youareconnectedtotheserver/n“);//连接上后向服务器发出服务请求send(sd_client,msg,strlen(msg)1,0);memset(response,0,sizeof(response));//接收服务器返回的服务信息recv(sd_client,response,sizeof(response),0);printf(“serversays%s/n“,response);closesocket(sd_client);WSACleanup();return0;}
http://www.yutouwan.com/news/273909/

相关文章:

  • 万网网站建设 优帮云厦门百度代理
  • 权威的合肥网站推广wordpress怎么不缩略图
  • 珠海网站制作网络公司汽车租赁网站设计
  • 公司网站设计意见网站seo资讯
  • 北京网站推广优化网站推广的10种方法
  • 福田网站建设运营费用刚做网站和搜出来的不一样
  • 分类信息网站营销苏州小程序开发设计公司
  • 童装东莞网站建设技术支持黄岛建设局网站
  • 网站建设 pdf企业产品微网站收费吗
  • 网站怎么做数据库个人免费开店的网站
  • 东营网站建设专业定制网站统计模板
  • 网站建设与制作教程下载上海网络营销外包服务公司
  • 石家庄网站建设模板浙江建设网站是多少
  • 珠海左右创意园网站开发网站开发案例代码
  • 泰安网站seo推广有人模仿qq音乐做的h5网站吗
  • 广告联盟做网站联盟文明网站建设有新突破
  • 应税服务网站开发开票连云港企业建站 网站
  • 辽宁网站备案要多久360建站工具
  • 高唐网站建设简洁物流网站模板
  • 建设一个网站的基本步骤域名更换网站
  • 通用网址通用网站查询网站设计介绍怎么写
  • 深圳营销型网站建设公司选择哪家好php是做网站美工的吗
  • 360免费建站模板俄罗斯做电商网站
  • 网站模版 源码网页制作与网站建设初学者必看教程
  • 西安做网站公司怎么样pc网站建设和推广
  • 品牌网站建设哪好设计师网页设计
  • 建设公司网站需要多少钱1sose wordpress
  • 山东省住房城乡建设厅网站那个网站做h5不要钱
  • 做网站怎么对接国际收款商户网站上如何做电子手册
  • 国外建筑设计网站推荐外贸人常用的网站