作者ogamenewbie (._.)
看板java
标题Re: [问题] 关於Socket与多执行绪的变数问题
时间Sun Nov 30 19:28:15 2008
我觉得这是程式逻辑有问题...
并非执行绪的问题.
※ 引述《chen1025 (小陈)》之铭言:
(解释部分 + 非重点程式部分略)
: do{
: message_from_client = input.readLine();
: System.out.println(message_from_client);
: message_from_server = type.readLine(); //一对一对话
: output.println(message_from_server);
: }while(true);
你这样做是告诉电脑说你要去 input readLine() 以後
然後去 type readLine()
这就是你必须要去等另外一边有讯息的原因.
你可以参考一下 BufferedReader 的 API 中,
查询是否有得知 type 跟 input 有资料需要读取的 method
透过此 method 以 if 或其他方式加以判断是否需要 readLine 及 println 即可
--
do {
if (input.ready()) {
message_from_client = input.readLine();
System.out.println(message_from_client);
}
if (type.ready()) {
message_from_server = type.readLine(); //一对一对话
output.println(message_from_server);
}
} while (true);
--
最後我有一个小小的不情之请,
如果你从这中间有获得什麽心得,或觉得说能留下些感想,
来帮助下一位遭遇此种困难的人,能更加易於了解如何去解决这样一个问题,
也请你多多分享,谢谢。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.160.34.54