网络编程概论.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
网络编程概论

第9章 网络编程;9.1 聊天室程序;客户端应用程序;9.1.2 程序开发步骤;9.2 CSocket程序设计基础;9.2.1 计算机名、IP地址和端口;IP地址的分类;域名系统;;;3. 端口 通讯进程 = IP地址 + 端口 有些为特殊目的端口,如80-http; 25-ftp; 其它为自由端口;9.2.2 WinSock和MFC;流式套接口;数据报套接口;MFC中提供了两个类用于WinSock编程:CAsyncSocket类和CSocket类;CAsyncSocket类;CSocket类;注意:; 函数;9.2.3 WinSock的工作原理;有连接的通信;WinSock进行有连接的通信模型;在有客户连接请求之前,服务器线程或进程将会阻塞,直到有客户程序成功地连接到了服务器上后才继续往下运行 在单线程的应用程序中,服务器线程或进程阻塞就意味着整个应用程序都无法继续运行,可以选择多线程的方式来解决;解决阻塞问题的方案;利用WinSock进行无连接的通信;发送数据 int CAsyncSocket::SendTo( cont void * lpBuf, int nBufLen, UINT nHostPort, LPCTSTR lpszHostAddress = NULL, int nFlag = 0);;接收数据 int CAsyncSocket::ReceiveFrom( void * lpBuf, int nBufLen, CString rSocketAddress UINT rSocketPort, int nFlags = 0); ;2. 无连接通讯模型;利用UDP协议发送和接收都可以是双向的,就是说,任何一个主机都可以发送和接收数据 UDP协议是无连接的,所以发送的数据不一定能被接收,接收的顺序也有可能与发送的顺序不一致;发送方在端口800上向接收方端口900发送数据的部分子函数; void CMyClientDlg::OnTimer(UINT nIDEvent) { char szRecv[20]; int iRecv = m_socketRecv.ReceiveFrom(szRecv,10,m_ip,m_port,0); szRecv[iRecv]=‘\0’; m_edit1= szRecv; UpdateData(false); CDialog::OnTimer(nIDEvent); }; void CMyserverDlg::OnLink() { UpdateData(true); m_socketSend.Creat(m_port,SOCK_DGRAM,NULL); m_socketSend.Bind(m_port,m_ip); SetTimer(1,3000,NULL); ...... }; void CMyserverDlg::OnTimer(UINT nIDEvent) { Static iIndex=0; char szSend[20]=“1234567890”; sprintf(szSend, “%d”,iIndex++); m_transmit_info = sz;Send; Updatedata(false); int iSend = m_socketSend.SendTo(szSend,10,m_port,m_ip,0); CDialog::OnTimer(nIDEvent); };9.3 基于CSocket的网络编程;服务器端;客户端;9.4 聊天室客户端应用程序;;;9.4.2 可视化设计;9.4.3 创建一个新类CWCSock;;;9.4.4 修改CWCSocket类;(2) 在CWCSock类中添加数据成员;(3) 在WCSock.h中定义自定义消息,以使CWCSock能够同应用程序主窗口通信;(4) 编写OnReceive()函数代码;void CWCSock::OnReceive(int nErrorCode) { //TODO:Add your specialized code here and/or call the base class if (Receive (m_Dat,sizeof(m_Dat))= = sizeof(m_Dat)) ::PostMessage(::AfxGetApp

文档评论(0)

cc880559 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档