vc异步网络通信中的CAsynSocket的用法
2009-12-17 11:36
281 查看
其实异步网络通信的实质与mfc中的消息机制非常相似。
首先,对于服务器来说,需要先创建一个派生自CAsynSocket类,由于在服务端,必须先创建套接字,并且把这个套接字与窗口进行映射。CMySocket sock;sock.SetParent(this);然后就需要用create()进行创建然后用listen侦听。接下来就就和mfc中的消息机制一样了。由于在CMySocket中定义了OnAccept()和OnReceive()虚函数,现在当有客户端进行连接的时候,就会有一个消息发送到消息队列中,然后把这个消息最后就会被送到这个OnAccept()函数中进行响应。如果有客户端发送的消息过来,则会把这个消息发送到OnReceive()函数中进行处理,然后还需要在窗口中写上一个发送函数即可
其次,对于客户端来说。也是相似的原理。创建派生类和前面一样,要重写的函数是OnReceive()函数就可以了,然后就是创建套接字,用Crete(),然后Connect(),接下来就是消息机制帮你处理接受消息的事情了。
首先,对于服务器来说,需要先创建一个派生自CAsynSocket类,由于在服务端,必须先创建套接字,并且把这个套接字与窗口进行映射。CMySocket sock;sock.SetParent(this);然后就需要用create()进行创建然后用listen侦听。接下来就就和mfc中的消息机制一样了。由于在CMySocket中定义了OnAccept()和OnReceive()虚函数,现在当有客户端进行连接的时候,就会有一个消息发送到消息队列中,然后把这个消息最后就会被送到这个OnAccept()函数中进行响应。如果有客户端发送的消息过来,则会把这个消息发送到OnReceive()函数中进行处理,然后还需要在窗口中写上一个发送函数即可
其次,对于客户端来说。也是相似的原理。创建派生类和前面一样,要重写的函数是OnReceive()函数就可以了,然后就是创建套接字,用Crete(),然后Connect(),接下来就是消息机制帮你处理接受消息的事情了。
相关文章推荐
- 【网络通信】socket,bind等基本操作
- RDMA与传统网络通信(Socket)的区别
- JavaSE入门学习48:Socket网络通信编程(二)
- android socket网络通信
- socket通信网络模型
- ACE网络编程笔记(2):IPC SAP、ACE_SOCKET和TCP/IP通信实例
- 基于socket的网络通信实现(MFC)
- Lniux网络通信一(基础知识点+Socket模型)
- socket网络通信(udp)
- Java的NIO之网络通信的SocketChannel
- socket 网络编程高速入门(一)教你编写基于UDP/TCP的服务(client)通信
- java网络编程Socket中SO_LINGER选项的用法解读
- 多线程下的Socket网络通信
- Java网络通信之Socket编程
- Socket网络通信
- 【网络编程】socket通信流程图(tcp)
- [网络通信]同一socket使用两个线程分别收发,如何关闭socket
- CocoaAsyncSocket网络通信使用之数据编码和解码(二)
- Android网络通信----1.Socket编程之简单客户端与服务器端通信
- Windows下socket网络通信