
linux下用socket实现服务器与客户端通信,高手进来帮忙看看!!急求!!
在linux下,我想用socket实现多个客户端连接一个服务器,服务器作为中转站,让每个客户端互相通信,这样可能吗?求思路???服务器里面:com_fd=accept(l...
在linux下,我想用socket实现多个客户端连接一个服务器,服务器作为中转站,让每个客户端互相通信,这样可能吗? 求思路???
服务器里面:
com_fd=accept(listen_fd,(struct sockaddr*)&clt_addr,&len);
这个com_fd不会改变,理论上每有一个新连接,就应该有一个新的com_fd出现。郁闷啊 有高手留下联系发式,研究一下吗?? 展开
服务器里面:
com_fd=accept(listen_fd,(struct sockaddr*)&clt_addr,&len);
这个com_fd不会改变,理论上每有一个新连接,就应该有一个新的com_fd出现。郁闷啊 有高手留下联系发式,研究一下吗?? 展开
1个回答
展开全部
多看书阿...
用select或者poll或者epoll吧..还有一个类似的
功能就是,等待事件发生,比如某个socket(或者句柄)有了数据什么的,select可以判断出来,并且返回,让你知道哪个socket出现事情了。他监听的句柄范围中没事情发生时,进程或者线程就阻塞(超时时间可以设置).
这样你就可以在select知道哪个出现数据之后,再去操作对应的socket
你说相互通信,干吗还要中转,自己用ip:port就好了阿...
要是大家都对服务器有某个请求,服务器端就用select吧..如果你处理的链接数很大,就用poll或者epoll吧,效果更好....剩下的自己去查资料...
用select或者poll或者epoll吧..还有一个类似的
功能就是,等待事件发生,比如某个socket(或者句柄)有了数据什么的,select可以判断出来,并且返回,让你知道哪个socket出现事情了。他监听的句柄范围中没事情发生时,进程或者线程就阻塞(超时时间可以设置).
这样你就可以在select知道哪个出现数据之后,再去操作对应的socket
你说相互通信,干吗还要中转,自己用ip:port就好了阿...
要是大家都对服务器有某个请求,服务器端就用select吧..如果你处理的链接数很大,就用poll或者epoll吧,效果更好....剩下的自己去查资料...

2023-05-30 广告
StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,IP...
点击进入详情页
本回答由Storm代理提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询