2.3 简单的通信程序

网络通信方面的基础函数我们已经了解了一些,把这些知识都连起来,就可以编写一个网络程序了。我们分别来写一个基于TCP协议和基于UDP协议的小程序。这是一个非常经典的程序,就是在编程界举世闻名的输出“Hello World!”!的程序,只不过是Winsock版本。

2.3.1 基于TCP协议的“Hello World!”

服务器端的代码编写流程如下:

2.3 简单的通信程序 - 图1

只要把这些函数依次写完,服务器端的代码就写完了。

服务器端代码如下:

2.3 简单的通信程序 - 图2

2.3 简单的通信程序 - 图3

客户端的代码编写流程如下:

2.3 简单的通信程序 - 图4

客户端的流程比服务器端的流程要更少一些,主要是省去了绑定IP和端口、监听等一些步骤。

客户端代码如下:

2.3 简单的通信程序 - 图5

2.3 简单的通信程序 - 图6

在上面的代码中,我们只是简单地把所有的API函数都串起来写了一遍,就能实现想要的功能。但是请注意,大家在写的时候一定要把所有函数的返回值加以判断,形成一个好的习惯。

2.3.2 基于UDP协议的“Hello World!”

UDP客户端与服务器端的编写方法与TCP的相似,只要注意其中的差别就可以了。

服务端代码如下:

2.3 简单的通信程序 - 图7

客户端代码如下:

2.3 简单的通信程序 - 图8

2.3 简单的通信程序 - 图9