java做tcp客户端,给我vb写的服务器端发数据
我用winsock可以建立连接,但是在winsock.accept之后
再给客户端发回数据,却有奇怪的问题:1.winsock.senddata之后,马上winsock.close,则java 客户端收到null
2.winsock.senddata之后,不关闭winsock,则java客户端假死,过十几秒后,我手动关闭server端程序(点窗口X)后,java客户端方可收到server端发送数据server端:vb6.sp5
client:java是在wsad5下跑的 jdk1.3吧第一种情况的vb程序
---------------------------------------------
Private Sub tcpServer_ConnectionRequest _
(ByVal requestID As Long)
    If tcpServer.State <> sckClosed Then _
    tcpServer.Close    tcpServer.Accept requestID
    lstOutput.AddItem "client connected"
    lstOutput.AddItem tcpServer.State '这里显示2
    tcpServer.SendData SERVER_READY
    lstOutput.AddItem "send: ready"
    lstOutput.AddItem tcpServer.State '这里显示7
    tcpServer.Close <---第二种情况去掉这行
    lstOutput.AddItem "Server Close"
    lstOutput.AddItem tcpServer.State '这里显示0java client端
-------------------------------------------------------------
socket = new Socket(InetAddress.getByName(ipAddr), 9977);
out = new PrintWriter(socket.getOutputStream());
in = new BufferedReader(new InputStreamReader(socket.getInputStream())); /*读取前置机返回的信息,取得前置机是否处于ready状态*/
recvData = in.readLine();  <----在这里假死
in.read();