日期:2014-05-20  浏览次数:20748 次

晕……这个问题怎么解决……
做一个类似飞鸽的小程序,
主要程序段如下,
  jbInit();   //   界面初始化并显示
  Recieve();   //   服务器

  Recieve();里使用TCP的serversocket,如下,

ServerSocket   ss   =   new   ServerSocket(3108);   //创建服务

Socket   c   =   ss.accept();   //接受发送端请求

问题在于ss.accept()产生阻塞,导致运行时界面都显示不出来,只有当接受到一个发送端请求,也就是ss.accept()这句话通过后,界面才会显示出来,
这个问题该怎么解决呀…………………………


------解决方案--------------------
这个是典型的界面流程和数据处理没有分开造成的假死现象,处理方法是:
在单独开一个线程专门的处理你的TCP相关的内容,这样就可以避免了。