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项目中的,也不报错,啥反应都没
展开
 我来答
小童鞋_成er
2014-07-25 · 知道合伙人数码行家
小童鞋_成er
知道合伙人数码行家
采纳数:4650 获赞数:22879
主要从事J2EE工作,热爱Java,用心讨论技术,共同进步。

向TA提问 私信TA
展开全部
您好,提问者:
1、首先,SverserSocket接受的话是以\r\n读取的,否则是发送不到的。
2、可以考虑使用PintWriter(os,true);//true的意思是刷新io流中内容。
3、用PrintWriter的out.println方法,会自动换行。
你再试试。
samplezuo
2014-07-24 · TA获得超过320个赞
知道小有建树答主
回答量:452
采纳率:100%
帮助的人:256万
展开全部
s.getInputStream();这个方法目测是阻塞式的
更多追问追答
追问
是没反应,线程直接结束了,我如果把下面的读去掉一个就可以了
追答
is.read那个肯定是阻塞式的,当没有数据的时候程序会停在那里
线程应该不会死的 你可以在debug那里看看
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
artintin
2014-07-24 · TA获得超过1.2万个赞
知道大有可为答主
回答量:7508
采纳率:80%
帮助的人:2878万
展开全部
写和读分成两个线程来做。
追问
我现在就是做的两个线程,一个读,一个写。但是我想放在一个线程里,可是消息时能发送,但是读消息不行,如果只读一次的话,是可以运行的。上面的读两次线程会进入stepping,过段时间才会执行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式