如何用socket与多线程实现在服务器端并发处理多客户端的请求

 我来答
dttsw
2017-12-27 · TA获得超过1059个赞
知道小有建树答主
回答量:770
采纳率:88%
帮助的人:312万
展开全部
你至少说一下你用什么语言吧?给你个伪代码,C、C++,java或其他语言的处理过程基本相似:
//创建服务端Socket,指定地址族,连接地址,传输协议
ServerSocket servSocket = new ServerSocket (AF_INET,"127.0.0.1",STREAM);
//指定服务端启用端口
bind(servSocket ,port);
//把服务端socket转化为监听socket
listene(servSocket );
//监听客户端的请求
for(;;) {
ClientSocket cliSocket =new ClientSocket ();
//此处没有连接请求的时候会产生阻塞,会把主线程挂起,有连接请求由操作系统或运行环境通知主线程,继续处理

accept(servSocket,cliSocket);

//执行到此处说明有客户端请求,创建线程处理客户端请求,此处耗费的时间仅仅是各语言的线程创建时间,不处理任何其他工作,具体工作写到线程回调代码中执行。

createNewThreadHandleClientRequet(cliSocket);

//到此循环回去,等待下一次客户端请求
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式