waitForData();去掉后可以显示消息呀,这个聊天工具是单机版的吗?有服务端吗

解决方案 »

  1.   

    Socket使用阻塞方式的io
    waitForData()方法会阻塞接受完所有数据后才会返回;
    而你把waitForData()方法的调用放在你的MyPanel的构造函数中,当然只能是socket接收完数据后窗口才会显示回来,你可以在构造完你的窗口类实例后再调用waitForData()方法
      

  2.   

    getSocket.receive(packet);  //从getSocket套接字接收数据包存入packet,接收完毕进入阻塞
    没有message近来。。程序可能就在这儿卡助了阿。。你用一些软件debug以下。。或者在这句上下System.out.println("i1"+i);getSocket.receive(packet);System.out.println("i2"+i);以下看看咯可以的话。。接收端开个单独的线程。主要的是frame和你接收程序1个线程。。所以接受线卡住了。frame也会卡住所以就不显示了
      

  3.   

    感谢 juyin(juyin) 和wthwebbe(honghong)的指点,搞定! to :zrtl(刚从软件园回来) ,是点对点的。