网站大量收购独家精品文档,联系QQ:2885784924

C语言实的串行通信接口程序.docVIP

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言实的串行通信接口程序   摘要:该文介绍了Sockets通信原理,从程序员角度着重讨论了WindowsSockets为支持异步通信对Sockets的功能扩充,并给出了应用WindowsSockets实现网络实时通信的一个程序实例。关IBM公司于1994年4月推出的TCP/IPforDOSV2.1.1所提供的开发软件包ProgrammersToolKit不仅带有DOS下网络编程接口,而且提供了Windows下网络异步通信接口WINSOCK。   一、Socket网络编程原理Socket是BSDUNIX提供的网络应用编程接口,它采用客户机/服务器的通信机制,使网络客户机方和服务器方通过Socket实现网络之间的连接和数据交换。Socket提供了一系列的系统调用,使用这些系统调用可以实现TCP、UDP、ICMP和IP等多种网络协议之间的通信。 WINSOCK对Socket的扩充   我们来设计一个简单的基于连接的点对点网络实时通信程序。服务器首先启动,它建立套接字之后等待客户机的连接;客户机在启动后,建立套接字,然后和服务器建立连接;连接建立后,客户机通过连接给服务器发送一段数据,服务器接收后又将它发送回来,客户机再发送,如此循环,直至用户命令客户机退出或网络出错;客户机关闭连接和套接字后退出,服务器在检测到连接关闭后,关闭套接字自动结束。   我们的实例是UNIX下基于BSDSocket的服务器程序和Windows下基于WINSOCK的客户机程序之间的通信。服务器在主机UNIX下直接运行,前台和后台均可;客户机在Windows下运行,带一个参数,即主机的名字。如winclientrs6000,rs6000是在HOSTS文件中已定义好的主机名。   我们先看客户机程序,首先定义几个宏、菜单资源和部分全局变量。   程序1:部分Windows程序源代码(宏、菜单和变量)   #defineUSERPORT3333/*用户定义端口号*/   #defineIDM-START101/*“启动”菜单项标志*/   #defineIDM-EXIT102/*“退出”菜单项标志*/   #defineUM-SOCKWM-USER+0x100/*用户定义网络消息*/   ClientMenuMENU/*客户机菜单*/   BEGIN   POPUPServer   BEGIN   MENUITEMStart...,IDM-START   MENUITEMStop,IDM-STOP   END   END   #include/*必须包含winsock.h头文件*/   HANDLEhInst;   charserver-address={0};/*服务器地址缓冲区*/   charbuffer;/*接收发送缓冲区*/   charFAR*lpBuffer=buffer;   SOCKETs=0;/*套接字*/   structsockaddr-indst-addr;/*目标地址*/   structhostent*hostaddr;/*主机地址*/   structhostenthostnm;   intcount=0;/*发送接收循环计数器*/   客户机程序的窗口主函数很简单,它在注册窗口类、建立窗口后,只是给主窗口函数发送一个用户消息,然后就进入Windows消息处理循环。   程序2:部分Windows程序源代码(窗口主函数)   intPASCALWinMain(HANDLEhInstance,HANDLEhPrevInstance,LPSTRlp   CmdL   ine,intnCmdShow)   {   HWNDhWnd;   MSGmsg;   lstrcpy((LPSTR)server-address,lpCmdLine);/*取主机名字*/   if(!hPrevInstance)   if(!InitApplication(hInstance))   return(FALSE);   hInst=hInstance;   hWnd=CreateWindow(ClientClass,WindowsECHOClient,   WS-OVERLAPPEDWINDOW,CW-USEDEFAULT,CW-USEDEFAULT,   CW-USEDEFAULT,CW-USEDEFAULT,   NULL,NULL,hInstance,NULL);   if(!hWnd)   return(FALSE);   ShowWindow(hWnd,nCmdShow);   UpdateWindow(hWnd);   /*给主窗口函数发送WM-USER消息*/   PostMessage(hWnd,WM-USER,(WPARAM)0,(L

文档评论(0)

过河的卒子 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档