5、myscan(0.1k+ star)开源的多线程 socket 扫描 IP 端口的程序。目前仅支持 Windows 系统,代码简...
可借助Linux C提供的select( 内核 )函数,实现一个进程监听多个IO事件( 网络连接、读、写等 ),以实现单进程网络服务程序,可同时处理多个客户端的IO事件的目的。 原理是,服务程序把每个客户端连接放到一个集合中(Socket连接集合),每次有事件发生,即遍历该集合,以确定如何做出应对。 其中: fd_set为Socket连接(fd)...
sockfd = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP); struct hostent *pURL; pURL = gethostbyname("http://name.com/"); memset(&address,0, sizeof(address)); address.sin_len = sizeof(address); address.sin_family = AF_INET; address.sin_addr.s_addr = *((unsigned long*)pURL->h_addr)...
libev是一个高性能事件循环,所实现的功能就是一个强大的reactor。 7.SimpleSocket:http://home.kpn.nl/lcbokkers/simsock.htm 这个类库让编写基于Socket的客户/服务器程序更加容易。 8.simple-socket:http://sourceforge.net/projects/simple-socket/ An easy to use C++ socket andnetwork library, mainly for ...
庞大、复杂,适合大型项目。开源、免费,不依赖第三方库,支持跨平台。 http://www.cs.wustl.edu/~schmidt/ACE.html (2)Asio Asio基于Boost开发的异步IO库,封装了Socket,简化基于socket程序的开发。 开源、免费,支持跨平台。 http://think-async.com/
开源的多线程 socket 扫描 IP 端口的程序。 目前仅支持 Windows 系统,代码简单可作为初学者学习项目。 传送门:github.com/nobackdoor/m 6、smartdns(4.1k+ star) 一个运行在本地的 DNS 服务器。能够提高网络访问速度等诸多妙用。 架构图如下: 传送门:https://github.com/pymumu/smart 当然还有一些 C++ 的轻...
Linux C网络编程基础Socket只是作为入门示例,一个服务端同时只能连接一个客户端进行交互。若想实现连接多个客户端,则可考虑使用多进程编程。 原理 linux C提供了fork函数实现多进程程序,fork()函数返回进程ID(pid),可用于判断后续代码为子进程( pid==0 )还是父进程(pid>0)。
开源、免费,不依赖第三方库,支持跨平台。 http://www.cs.wustl.edu/~schmidt/ACE.html (2)Asio Asio基于Boost开发的异步IO库,封装了Socket,简化基于socket程序的开发。 开源、免费,支持跨平台。 http://think-async.com/ (3)POCO POCO C++ Libraries 提供一套 C++ 的类库用以开发基于网络的可移植的应用程序...
开源免费的CC++网络库(cc++socketslibrary) (1)ACE 庞大、复杂,适合大型项目。开源、免费,不依赖第三方库,支持跨平台。 (2)Asio Asio基于Boost开发的异步IO库,封装了Socket,简化基于socket程序的开发。 开源、免费,支持跨平台。 (3)POCO POCO C++ Libraries 提供一套 C++ 的类库用以开发基于网络的可移植的应用...
C语言网络编程通常使用的库有Berkeley套接字(Socket)编程,其中以POSIX (1、API) 和 Windows Socket API (Winsock、2) 最为常见。以 POSIX API 为例,它提供了一系列函数用于创建套接字、绑定地址、监听端口、接受连接、发送和接收数据等。这一API广泛用于Unix-like系统中进行网络通信。特别是函数如socket(),bind...