摘要: 在回射客户/服务器程序中,服务器只能处理一个客户端的请求,如何同时服务多个客户端呢?在未讲到select/poll/epoll等高级IO之前,比较老土的办法是使用fork来实现。网络服务器通常用fork来同时服务多个客户端,父进程专门负责监听端口,每次accept一个新的客户端连接就fork出一个子进程专门服务这个客户端。但是子进程退出时会产生僵尸进程,父进程要注意处理SIGCHLD信号和调用wait清理僵尸进程,最简单的办法就是直接忽略SIGCHLD信号。双击代码全选123456789101112131415161718192021222324252627282930313233343536 阅读全文
posted @ 2013-11-12 14:31 Fight_4_ever 阅读(901) 评论(0) 推荐(0) 编辑
摘要: 一。在socket编程时,常遇到下面的地使用错误:Cann't bind server socket ! : Address already in use 。二。说明:可以使用 bind API 函数来绑定一个地址(一个接口和一个端口)到一个套接字端点。可以在服务器设置中使用这个函数,以便限制可能有连接到来的接口。也可以在客户端设置中使用这个函数,以便限制应当供出去的连接所使用的接口。bind 最常见的用法是关联端口号和服务器,并使用通配符地址(INADDR_ANY),它允许任何接口为到来的连接所使用。bind 普遍遭遇的问题是试图绑定一个已经在使用的端口。该陷阱是也许没有活动的套接字 阅读全文
posted @ 2013-11-12 09:10 Fight_4_ever 阅读(917) 评论(0) 推荐(0) 编辑