Windows Socket网络编程学习笔记一

作者:朱金灿

来源:blog.csdn.net/clever101

 

 

 

如何理解Windows Socket

 

我的理解:Windows Socket相当于Windows平台上两个网络实体开辟的一条通信通道,这条通信通道的实现细节对网络双方是不可见的(呵呵,你就知道它是Windows制造)。通过这条通道,网络双方可以传输各种数据。

 

你可能急不可待地问这条通道是怎样开辟的呢?下面我以服务器段和客户端作为网络双方进行说明。请看下图:




 这样你看明白了吗?服务器和客户端之间的连接实际上是服务器端Socket和客户端Socket之间的连接。那么在程序中具体如何呢?实际上很简单,就是在服务器端程序创建一个Socket类对象,在客户端程序创建一个Socket类对象,然后把连接、数据传输等网络通信等工作交给他俩去做。

 

了解了Socket通信模型,你是不是觉得Windows Socket网络编程不像想象中那么难呢?然后你可以去了解MFC中的SocketCAsyncSocketCSocket类的用法,建议你重点看看那篇《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很有好处(我就是从那得到启发的)。

你可能感兴趣的:(Windows Socket网络编程学习笔记一)