请教兄弟一个关于socket接受和发送信息的问题?vc

来源:百度知道 编辑:UC知道 时间:2024/05/14 08:43:20
有一段代码定义了两个:
CMySocket m_sListenSocket;服务器端
CMySocket m_sConnectSocket;客户端
且服务器和客户端在同一个窗体,通过选择确定。
为什么接受和发送信息都用m_sConnectSocket,而不用m_sListenSocket?
我理解应该服务器端用m_sListenSocket,客户端用m_sConnectSocket。

这样理解,因为 CSocket 作为服务端的时候可以接受别人的连接,那么他不可能只能接受你一个连接,而是可以接受到所有的连接,所以当有客户端连入的时候你必须要重载 OnAccept 事件 使用

m_sListenSocket.Accept(m_AcceptSocket);

这样 m_sListenSocket 没有变化,但是 如果要和当前连入的通讯应该使用

m_AcceptSocket 来实现通讯

例如

m_AcceptSocket.Send(....);

而不是作为监听的

m_sListenSocket.Send(...) 这样是错的

大致就是这样.........推荐你去看下TCP通讯的代码,就可以理解了