首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

关于socket的有关问题

2012-05-28 
关于socket的问题private Socket sk nullprivate ObjectOutputStream output nullprivate ObjectInp

关于socket的问题
private Socket sk = null;
private ObjectOutputStream output = null;
private ObjectInputStream input =null;
  private void initialSocket(){
//主机名
String hostName = Tools.getValue(SysConstants.SYS_HOSTNAME);

//端口号
int part = Integer.parseInt(Tools.getValue(SysConstants.SYS_LISTENERPORT));

try{
sk = new Socket(hostName,part);
  //下面得到IO流的两条语句,为什么反过来程序就无法运行下去 会停在input = new ObjectInputStream(sk.getInputStream());这一句上 为什么?


output = new ObjectOutputStream(sk.getOutputStream());
input = new ObjectInputStream(sk.getInputStream());


}catch(IOException e){
e.printStackTrace();
}
}

[解决办法]
在ObjectInputStream的构造函数里面,它好像会从参数InputStream里面读4个字节的头,如果此时InputStream里面读不到数据,它就会一直阻塞。
你可以看下ObjectInputStream的源码。
[解决办法]
阻塞 。
你把客户端的对调之后 ,再把服务端的也对调一下试试。
[解决办法]

探讨
在ObjectInputStream的构造函数里面,它好像会从参数InputStream里面读4个字节的头,如果此时InputStream里面读不到数据,它就会一直阻塞。
你可以看下ObjectInputStream的源码。

热点排行