java中,我在一个方法中用socket得到输入流和输出流,我先输出,然后多次读,但是总感觉代码不执行 5
Sockets=newSocket(ip,port);InputStreamis=s.getInputStream();OutputStreamos=s.getOutpu...
Socket s = new Socket(ip, port);
InputStream is = s.getInputStream();
OutputStream os = s.getOutputStream();
OutputStream os = outputSream();
os.write(“你好”);
os.flush();
byte[] temp = new byte[150];
int tempLength = 0;
tempLength = is.read(temp);
System.out.println(Arrays.toString(temp));
tempLength = is.read(temp);
System.out.println(Arrays.toString(temp));
这是java的web项目中的,也不报错,啥反应都没 展开
InputStream is = s.getInputStream();
OutputStream os = s.getOutputStream();
OutputStream os = outputSream();
os.write(“你好”);
os.flush();
byte[] temp = new byte[150];
int tempLength = 0;
tempLength = is.read(temp);
System.out.println(Arrays.toString(temp));
tempLength = is.read(temp);
System.out.println(Arrays.toString(temp));
这是java的web项目中的,也不报错,啥反应都没 展开
3个回答
展开全部
s.getInputStream();这个方法目测是阻塞式的
更多追问追答
追问
是没反应,线程直接结束了,我如果把下面的读去掉一个就可以了
追答
is.read那个肯定是阻塞式的,当没有数据的时候程序会停在那里
线程应该不会死的 你可以在debug那里看看
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
写和读分成两个线程来做。
追问
我现在就是做的两个线程,一个读,一个写。但是我想放在一个线程里,可是消息时能发送,但是读消息不行,如果只读一次的话,是可以运行的。上面的读两次线程会进入stepping,过段时间才会执行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询