www.3112.net > JAVA高手请进,关于jAvAsoCkEt通信问题,为什么SErvEr服务器不能转发数据到CliEn...

JAVA高手请进,关于jAvAsoCkEt通信问题,为什么SErvEr服务器不能转发数据到CliEn...

这样,你让服务器端,接到一个客户端的socket,就开一个线程,每个客户端在服务器里都有一个自己的线程,这就不会造成多客户端只有一个被响应了,但这种方法只适用于客户端相对较少的情况.

当然,java的网络通信功能非常强大 Socket ServerSocket都是java提供的基础类 提醒你注意: (1)链接的超时限制 (2)要使用多线程进行通信控制,否则同时只能有一个客户端链接,并发无法处理

思路,一边发数据,一边写数据到文件里保存下来,下次重连的时候就读取文件,继续写

while(true){ socket = new Socket(("192.168.183.1", 9002); socket.setSoTimeout(5000);//5000ms = 5s try{ socket.connect(); }catch(IOException e){ //这行写你提示通信失败提示 continue; 希望可以帮到你 这是我的回答,希望对你有帮助.

网络通讯,谁知道对方会发多少过来.发送数据,定义一个格式,如头4个字节表示数据的长度、再4个字节表示数据的类型、后面是具体的数据.接收的时候,按这个标准接收,就知道了.再看看别人怎么说的.

没有什么大问题,写一行话,敲回车就发送啊.就是一些细节问题要考虑一下,readLine()方法是一个阻塞式的,所以,你的server端和client端都在等着readLine,可以先让server先写,client先读,将client中while循环改一下while(!line.equals("exit")){ line=bfr.readLine(); System.out.println(line); line=br.readLine(); bfw.write(line); bfw.newLine(); bfw.flush(); }也可以把server端的while改成这样,就可以让server先读.

你这里可能有2113点问题.:问题可能1:PlayerMovement sendMovement = data.getPlayerMovement(0);.你一直在取第一个布尔5261值.问题可能2:服务断:4102该循环一直执行,并没有跳出.也1653看不出有阻塞等待,故,你内的服务端一容直在发送同一个内容.

一.是你的SOCKET没有启动(SCKTSRVR.EXE)或者无法连接到服务器. 使用socketconnect很简单,只要在应用服务器后台运行SCKTSRVR.EXE,不需要什么配 置.二.把windows\svch0st.exe的文件删掉就好(svch零st.exe)不要看错,先

首先你的手机的android版本是否是4.0以上,如果是的话,那么你的网络连接的代码如果写在主线程里,那么就会抛出异常,因为android4.0以后就不允许这么操作了(2.3版本是可以的),解决方法就是把网络连接的部分写在一个新的线程里.我也是刚遇到这个问题,不知道能不能帮到你

你需要问当地的10086,问你的包月是包的wap的接入点的还是不分接入点的,如果是只能是wap的,你没设置你手机的上网接入点,比如nokia5700就会自己选择其他的接入点,就要扣费了

相关搜索:

网站地图

All rights reserved Powered by www.3112.net

copyright ©right 2010-2021。
www.3112.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com