java 板


LINE

谢谢大家,我会再读一下 Socket 和 Thread 的一些API XD 不过目前碰到另一个问题,就是当我想让 server 发讯息给所有连上线的 client 於是我这样做: while(true){ String returnCode = "[Server says] : "+br.readLine(); for(Socket client: ServerHandle.SOCKET_LIST){ BufferedOutputStream os = new BufferedOutputStream(client.getOutputStream()); OutputStreamWriter osw = new OutputStreamWriter(os, "US-ASCII"); osw.write(returnCode+"\r\n"); System.out.println("Sending msg to :"+client.getInetAddress().getHostName()); osw.flush(); } } 的确可以成功发讯息给所有的client,但碰到一个怪现象,就是并非每次都会发出去, 但该讯息也不会lost,而是等到下一次的msg出现时再一起送出去,output如下: ========共有两个client=================== command : test Sending msg to :127.0.0.1 Sending msg to :127.0.0.1 command : hello1 command : hello2 Sending msg to :127.0.0.1 Sending msg to :127.0.0.1 Sending msg to :127.0.0.1 Sending msg to :127.0.0.1 请问是什麽地方出问题呢? 感觉并不是卡在flush(),因为连 flush() 前的程式都没执行到 ※ 引述《Nt1 (用功点吧!)》之铭言: : 大家好,我目前想做一个 socket 的小程式,需求如下: : ServerSocket: : 1.能同时接受多个clinet连线 : 2.能同时接受每个clinet发的讯息 : 3.能同时发讯息给所有的client : Socket : : 1. 能连上server : 2. 能发送/接收 讯息给server。 : 就这样。 : 目前我已经做到的功能如下: : ServerSocket: : 1. ok,可以接受多个client连上来 (用multi-thread) : 2. ok,各个client发的讯息都可正常显示出来 : 3. fail,server side的讯息只会发给某"一"个client,而且该client是随机的..= ="" : Socket : : 1. ok : 2. ok : 我的问题就是要怎麽让server的讯息可以发给所有连上的client呢? : 我的做法是: : 先开multi-thread做 server.accept(),达成多个client同时连线的功能 : 然後每个 socket thread 再开两个 thread, 分别处理 InputStream和 OutputStream : 结果就是 server side 写讯息到 socket 的 outputstream後,只有"一"个 client : 会收到.. : 请问是哪边出问题了呢?感谢。 -- http://www.flickr.com/photos/mong0520/collections/ --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.135.41.2 ※ 编辑: Nt1 来自: 220.135.41.2 (09/02 12:31) ※ 编辑: Nt1 来自: 220.135.41.2 (09/02 12:31)
1F:→ Nt1:补充,同样的code,若client只有一个,就不会有这样的问题 09/02 12:42
2F:推 Jichang:问题出在会 blocking .. 要再多弄一点 thread 出来 .. 09/03 19:18
3F:→ dream1124:程式码下面command:hello1 也是server的println内容吗? 09/03 20:44







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Soft_Job站内搜寻

TOP