在这里,我向大家介绍关于一套C++ Socket类,让你可以轻松的在Windows程序中使用Sockets。另外,我要感谢Fabien Le Lez、www.infflux.com、和Tamas Kaskoto等一切完善这套源码的朋友。

 

      这里实际有四个类组成:

      1、Socket(基类)

      2、SocketServer(派生类)

      3、SocketClient(派生类)

      4、SocketSelect(友元)

 

      这里的SocketSelect 可以用来在多个Socket上进行Select调用,在Sockets构造函数中,他是protected权限。

 

      当你编译这些文件的时候,请保证链接Ws2_32.lib库。

 

      回到头文件、执行文件、测试程序和Echo服务器,这里同样也有一个Proxy服务器和一个WEB服务器。

 

      关于这个socket类简短的描述:每个Windows Socket程序会调用WSAStartup,这个调用在这里封装在Socket::Start里面,而这里又是由于调用Soket的构造函数。我通过在这里的V2.0版,我希望该版本进行安装。

 

      这里的Socket构造函数将调用socket()来创建套接字(请注意小写)。它传递SOCK_STREAM参数显示TCP,如果你希望是UDP,刚你必须传递SOCK_DGRAM参数。

 

      SocketClientSocketClient继承于Socket,它的构造函数需要一个主机名作为参数,这个主机名是服务器的客户端希望传递的。这个主机名由gethostname()解析为一个IP地址。

 

      SocketServer:SocketServer也是继承于Socket,它的构造函数第一个参数标示侦听的端口;第二个参数标示有能力处理的最大连接数;

 

      下面是原作者的源代码:

 

1、头文件声明

 

2、CPP文件

 

 

 

<由于本人英文及编程水平有限,翻译难免有不足之处,欢迎请广大友友谅解并纠正!>

 

原文出自:http://www.adp-gmbh.ch/win/misc/sockets.html

 

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐