日期:2014-05-18  浏览次数:20703 次

socket通信中无法向服务端连续发送俩条发送短信的报文是怎么回事呢?

Socket socket=null;



try {
//在客户端建立一个Socket对象,请求建立连接:
socket=new Socket("125.208.3.12",11084);
//输出
System.out.println("连接已建立:"+socket);


OutputStream os=socket.getOutputStream();
InputStream in=socket.getInputStream();

                        //发送登录
os.write(login.getBytes());
os.flush();
Thread.sleep(3000);

//发送信息01
os.write(sendmes.getBytes());
os.flush();
Thread.sleep(3000);

                        //发送信息02
os.write(sendmes1.getBytes());
os.flush();

int c;
while((c=in.read())!=-1)
{
System.out.print((char)c);
}




} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}


调用这些代码可以实现给手机发送短信的功能,我现在是客户端,我给服务端发送数据后,手机号可以接收到我发送的信息。在我发送了第一条信息后,手机可以收到短息,但是执行第二条发送信息的时候,手机就是收不到信息了!客户端也只能收到登录和第一条短信发送的返回信息,请问下这个是什么原因呢?
另外他这个还有一个心跳报文,我要是连续发送俩次心跳报文的时候就都可以收到返回的信息!会不会是他们服务端的问题呢?还是我代码的问题呢?
socket 通信

------解决方案--------------------
要看服务端的ServerSocket是只有一次accept还是多次的了。
(嘿,LZ好纠结呀~)