请问为什么多线程Socket客户端和服务器端互相无法传值,又不报错?
三张图分别是server端。serverThread端,以及socket端。是哪里出现了问题。还请说明指点。感激!!...
三张图分别是server端。serverThread端,以及socket端。是哪里出现了问题。还请说明指点。感激!!
展开
1个回答
展开全部
//创建服务端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);
//到此循环回去,等待下一次客户端请求
}
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);
//到此循环回去,等待下一次客户端请求
}
追问
您好,不好意思,请问是问题出在了创建服务器上了吗??还在学习中,请见谅
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询