本文主要结合MSDN上关于WinSocket的几篇官方文档,创建一个简单的VC++ Socket示例程序,演示一个基本的CS模型。参考链接如下:
MSDN:Windows Socket 2 Getting Started with WinSocket
其他博客:VC网络编程 C++ Socket
一、C/S —— Client和Server
网络编程中,最常见的是C/S模型,它有一个(或多个)client和一个server。事实上,我们需要建立两个不同的socket network应用程序来演示该示例(我们可以将这两个工程放到一个solution下,具体方法是:先建立一个工程,然后修改名字,再在该solution下添加另一个工程)。这两个应用程序——client和server有不同的行为,如下:
Server
- Initialize Winsock.
- Create a socket.
- Bind the socket.
- Listen on the socket for a client.
- Accept a connection from a client.
- Receive and send data.
- Disconnect.