来源:blog.csdn.net/clever101
如何理解Windows Socket?
我的理解:Windows Socket相当于Windows平台上两个网络实体开辟的一条通信通道,这条通信通道的实现细节对网络双方是不可见的(呵呵,你就知道它是Windows制造)。通过这条通道,网络双方可以传输各种数据。
你可能急不可待地问这条通道是怎样开辟的呢?下面我以服务器段和客户端作为网络双方进行说明。请看下图:
这样你看明白了吗?服务器和客户端之间的连接实际上是服务器端Socket和客户端Socket之间的连接。那么在程序中具体如何呢?实际上很简单,就是在服务器端程序创建一个Socket类对象,在客户端程序创建一个Socket类对象,然后把连接、数据传输等网络通信等工作交给他俩去做。
了解了Socket通信模型,你是不是觉得Windows Socket网络编程不像想象中那么难呢?然后你可以去了解MFC中的Socket类CAsyncSocket和CSocket类的用法,建议你重点看看那篇《Windows Sockets: Socket Notifications》以及下面的
• Windows
Sockets: Using Class CAsyncSocket
• Windows
Sockets: Deriving from Socket Classes
• Windows
Sockets: How Sockets with Archives Work
• Windows
Sockets: Blocking
• Windows
Sockets: Byte Ordering
• Windows Sockets: Converting Strings
其实MFC中的Socket类和CWnd类有一点是相似的,就是有一些消息激发函数。你需要理解什么条件下这些函数会响应。最后我建议你看懂《Windows Sockets: Socket Notifications》的例程(点击Sample链接),那是一个简单的聊天程序,这对理解Socket很有好处(我就是从那得到启发的)。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)