您的位置:首页 > 理论基础 > 计算机网络

GUI网络编程--服务器每连接一个客户端就显示其信息

2014-06-23 22:12 369 查看
我遇到的问题是:

这里有甲、乙、丙3个客户端,一个服务端。

1. 当甲连接到服务端时,无法在服务端的GUI上显示信息,只能在控制台显示信息。

2. 当3个客户端都连接完后,服务端的GUI才显示这3个客户端的相关信息

分析原因:

(1). 传统的GUI应用程序通常都是单线程的。

(2). 如果在事件线程中执行的任务都是短暂的,那么界面的响应灵敏度就较高,因为事件线程能够很快地处理用户的动作。

然而,如果事件线程中的任务需要很长的执行时间,例如对一个大型文档进行拼写检查,或者从网络上获取一个资源,

那么界面的响应灵敏度就会降低。如果用户在执行这类任务时触发了某个动作,那么必须等待很长时间才能获得响应,

因为事件线程要先执行完该任务。更糟糕的是,不仅界面失去响应,而且即使在界面上包含了“取消”按钮,也无法取消

这个长时间执行的任务,因为事件的线程只有在执行完该任务后才能响应“取消”按钮的点击事件。然而,如果将这个长

时间运行的任务放在一个单独的线程中运行,那么事件线程就能及时地处理界面事件,从而使用户界面具有更高的灵敏

度。

处理方案:

将这个长时间运行的任务放在一个单独的线程中运行。

即,将对文档进行拼写检查这个任务放到一个单独的线程中。也就是,GUI界面处理多线程任务时,必须自定义一个线程,

用来专门处理任务。

这个问题发生于那些地方?

一个服务端多个客户端(我模拟时遇到的问题)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐