MFC CSocket简单C/S通信
来源:互联网 发布:北大青鸟java要加班吗 编辑:程序博客网 时间:2024/05/17 09:35
网络编程需要注意的
0.编程中套接字应该分为三类,一类为客户端套接字,一类为服务器套接字,一类为Accept返回的套接字。这个应该时刻有这个认识
1.三种套接字类在连接成功后都会马上自动进入各自类的OnSend,都没有进入OnConnect。(自己测试确实是这样,跟别人描述不符,不知道怎么回事),进入OnSend,表示可以发送数据了
2.服务器跟客户端交互靠的是Accept返回的套接字而不是服务器套接字,服务器只有接受客户端连接作用,其他事就都是靠Accept返回的套接字去做了
有了三条意识就知道一个简单网络通信应该客户端派生一个socket,服务器程序有两个socket派生类。
客户端:
- void CClientSocket::OnSend(int nErrorCode)
- {
- char *str=_T("我是客户端的liunian");
- if(!Send(str,strlen(str)+1))
- {
- AfxMessageBox("发送错误");
- }
- CSocket::OnSend(nErrorCode);
- }
- void CClientSocket::OnReceive(int nErrorCode)
- {
- char buff[1000];
- int count;
- count=Receive(buff,1000);
- buff[count]=0;
- AfxMessageBox(buff);
- CSocket::OnReceive(nErrorCode);
- }
- bool CClientSocket::ConnectServer(LPCTSTR lpszHostAddress,UINT nHostPort)
- {
- if (!Create())
- {
- Close();
- AfxMessageBox(_T("创建套接字错误!!"));
- return false;
- }
- if (!Connect(lpszHostAddress,nHostPort))
- {
- Close();
- AfxMessageBox(_T("网络连接错误!请重新检查服务器地址的填写是否正确?"));
- return false;
- }
- return true;
- }
- void CServerSocket::OnAccept(int nErrorCode)
- {
- Accept(m_connectSocket);
- CSocket::OnAccept(nErrorCode);
- }
- bool CServerSocket::OpenServer(UINT nHostPort)
- {
- Create(nHostPort);
- Listen();
- return true;
- }
- void CConnectSocket::OnReceive(int nErrorCode)
- {
- char buff[1000];
- int count;
- count=Receive(buff,1000);
- buff[count]=0;
- AfxMessageBox(buff);
- CSocket::OnReceive(nErrorCode);
- }
- void CConnectSocket::OnSend(int nErrorCode)
- {
- char *str=_T("服务器发来的liunian");
- Send(str,strlen(str)+1);
- CSocket::OnSend(nErrorCode);
- }
- //函数都没有命名
- void CMFCSocketDlg::OnBnClickedButton1()//开启服务器
- {
- m_serverSocket.OpenServer(6767);
- }
- void CMFCSocketDlg::OnBnClickedButton2()//连接服务器
- {
- m_clientSocket.ConnectServer(_T("111.76.27.230"),6767);
- }
0 0
- MFC CSocket简单C/S通信
- MFC CSocket简单C/S通信
- MFC CSocket简单C/S通信
- MFC CSocket类 通信原理
- TCP简单C/S通信
- 2.使用MFC的CSocket类建立简单的UDP通信
- MFC中利用CSocket实现UDP通信
- MFC中利用CSocket实现UDP通信
- MFC中利用CSocket实现UDP通信
- MFC中利用CSocket实现UDP通信
- MFC UDP CSocket实现局域网通信
- C++/MFC-套接字CSocket之UDP
- 用CSocket创建C/S结构
- MFC CSocket
- MFC CSocket
- 简单的套接字C/S通信
- C/S最简单的socket通信
- 利用MFC的CSocket类实现网络通信(zz)
- VisionMobile:2014年Q1移动开发者经济报告(八)3.2、谁是你的同伴平台
- Office 2013 SP1正式发布啦
- 数据建模基础理论 - 数据完整性
- openGL介绍
- JNI学习入门2
- MFC CSocket简单C/S通信
- OneDrive(SkyDrive)现在免费扩容
- 百度地图 ios sdk的简单配置
- MFC中利用CSocket实现UDP通信
- android使用遥控器模拟鼠标拖拽操作
- 宏定义的作用
- 使用Linux命令行测试网速
- c++/MFC CSocket仿QQ聊天软件,实现1对1聊天,群聊
- SVN更新后,Xcode 工程文件打不开