Socket sk = new Socket(host, port); DataInputStream in = new DataInputStream(sk.getInputStream()); PrintStream out = new PrintStream(sk.getOutputStream());out.print(String.valueOf(loginstring) + String.valueOf(GetChecksum(loginstring))); // send // int lengh = 0; b = new byte[144]; try { lengh = in.read(b); // read }
to bfbd(八风不动): VC做的服务端我这边不能修改,还有没有别的办法?to drinkant(喝酒的蚂蚁): 我不能确信服务端发过来的数据JAVA能重构成object, 但是这怎么解决?兄弟们,帮帮忙!
根据服务器的通信协议做 至少我认为绝对不能简单的用objectstream来做
objOut = new ObjectOutputStream(cltSoc.getOutputStream()) 这里的cltSoc.getOutputStream()会不会和vc中的accept()相同,一直在循环等候而不向下执行? ——不知道地说
你先看看服务器端有没有收到包我觉得你的客户端并没有往服务器端发包啊cltSoc = new Socket(address, 5005); objOut = new ObjectOutputStream(cltSoc.getOutputStream()); objIn = new ObjectInputStream(cltSoc.getInputStream());这些只是创建而已 至少该有一个objOut.println("HELLO"); 通知服务器要求建立连接吧
楼主可以了,用的DataInputStream,我是来接分的,:)
to allan1031(加西亚想睡觉): 上面的程序是实例化这个类,建立与服务器连接,cltSoc = new Socket(address, 5005);就是通知向服务器发连接。可是用ObjectOutputStream不行,通过朋友阿土仔的提示,但用DataOutputStream可以。不知为什么?问题基本上解决了。
DataInputStream in = new DataInputStream(sk.getInputStream());
PrintStream out = new PrintStream(sk.getOutputStream());out.print(String.valueOf(loginstring) + String.valueOf(GetChecksum(loginstring))); // send
//
int lengh = 0;
b = new byte[144];
try
{
lengh = in.read(b); // read
}
你确信服务端发过来的数据java能重构成object?又或者服务端能认识你的object?
VC做的服务端我这边不能修改,还有没有别的办法?to drinkant(喝酒的蚂蚁):
我不能确信服务端发过来的数据JAVA能重构成object, 但是这怎么解决?兄弟们,帮帮忙!
至少我认为绝对不能简单的用objectstream来做
这里的cltSoc.getOutputStream()会不会和vc中的accept()相同,一直在循环等候而不向下执行?
——不知道地说
objOut = new ObjectOutputStream(cltSoc.getOutputStream());
objIn = new ObjectInputStream(cltSoc.getInputStream());这些只是创建而已
至少该有一个objOut.println("HELLO");
通知服务器要求建立连接吧
上面的程序是实例化这个类,建立与服务器连接,cltSoc = new Socket(address, 5005);就是通知向服务器发连接。可是用ObjectOutputStream不行,通过朋友阿土仔的提示,但用DataOutputStream可以。不知为什么?问题基本上解决了。