Socket 迷惑中zzZZZzzzz,大侠救我!!急等
最近写一个控制机和分析机之间的socket通信,当我发命令1000表示登陆分析机,并从分析机返回结果,(此命令成功得到返回值),然后在发命令查询分析机状态,但是没有收到分析机的返回值,并且从流中读不出任何数据??两次是同一个socket连接。 问题点数:30、回复次数:11Top
1 楼man_feng()回复于 2005-01-05 17:48:34 得分 0
每次从流中取数据都是按照固定格式去固定位数,只有第一次取出了返回值,以后就是空了,为什么呢?Top
2 楼robber(海盗)回复于 2005-01-05 17:50:55 得分 0
这种问题应该去问问写服务端的人。Top
3 楼robber(海盗)回复于 2005-01-05 17:51:43 得分 4
或者自己抓包看看Top
4 楼man_feng()回复于 2005-01-05 17:53:00 得分 0
服务器端也是按照协议来作的,为什么命令1000发出后我能收到返回值那?Top
5 楼man_feng()回复于 2005-01-05 17:55:43 得分 0
抓包就是找到分析机到底有没有发过数据来是吗?请问要怎么做那,我刚开始做socket这块:PTop
6 楼man_feng()回复于 2005-01-05 17:59:04 得分 0
public static byte[] getInputStream(InputStream in, int byteRead, int byteToRead)
{
try
{
byte input[] = new byte[byteToRead - byteRead];
int result;
for(; byteRead < byteToRead; byteRead += result)
{
result = in.read(input, byteRead, byteToRead - byteRead);
if(result == -1)
break;
}
return input;
}
我用的这个方法取数据,为什么第二次就不行了Top
7 楼lanxing2004(lanxing)回复于 2005-01-06 09:07:46 得分 0
好的 强猪 我来了 我是真的不懂Top
8 楼man_feng()回复于 2005-01-06 09:14:35 得分 0
顶一下就有分,高手都死了,都说java社区没有高手!说对了!Top
9 楼wjsfr(令狐葱:Rachel)回复于 2005-01-06 09:40:11 得分 2
up
!Top
10 楼man_feng()回复于 2005-01-06 10:30:49 得分 0
今天晚上揭帖,顶得多分就多哦!看来问题还得自己解决啊:PTop
11 楼sci_fi(java)回复于 2005-01-07 09:59:09 得分 24
检查socket是否关闭
inputstream是否reset
然后把传送打开Top




