Re: [問題] Socket傳送訊息

看板java作者 (老子我最神)時間13年前 (2011/05/06 20:06), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
※ 引述《a39189 (Billups)》之銘言: : 請教版上各位高手 : 我在寫TCPClient的時候發現了一個很奇怪的問題 : 再送訊息的時候 明明是同樣的程式碼(我將傳送訊息寫成一個method) : 可是在不同的區域底下 一個Server端收的到訊息 : 另一個從外部呼叫的 Server卻收不到 : 這是什麼問題呢??? 有請版上各位幫我解惑了 : 我抓了這個蟲抓了快一天..... : 程式碼如下 : public Boolean connectServer( String ServerIp )throws Exception{ : System.out.println("Connecting To Server... "); : InetAddress IP = InetAddress.getByName(ServerIp); : Client = new Socket ( IP , Port ); : if(!Client.isConnected()){ : assert Client.isConnected()==false; : System.out.println("Connection failed"); : } : //會成功送到Server端的片段 : try{ : sendToServer("Message"); : } : catch(Exception e){ : } : return Client.isConnected(); : } : //Send message to TCP Server : private void sendToServer(String Message){ : //Assertion for TCP connection : if(!Client.isConnected()){ : assert Client.isConnected(); : System.out.println("Connection Failed"); : }else{ : System.out.println("Connection work"); : } : try{ : DataOutputStream outToServer = new : DataOutputStream(Client.getOutputStream()); : outToServer.writeBytes(Message+ "Client 1 \n"); : System.out.println("Sending '"+Message+"'"); : }catch(IOException e){ : } : } : . : . : . : . : . : . : public static void main(String args[]) : { : try{ : TCPClient test = new TCPClient(); : test.connectServer("localhost") : //這行Server端卻收不到 : test.inputMoves("Fail"); : }catch(Exception e){ : System.out.println(e); : } : } 這問題我之前寫Socket時也發生了...我只知道要怎麼解決,原理的話請強者說明... 我也很想知道原理... 以下是我的理解跟解決辦法 首先如果是 DataOutputStream out1 = new DataOutputStream(Client.getOutputStream()); DataOutputStream out2 = new DataOutputStream(Client.getOutputStream()); 這樣 out2.write()似乎就會寫不出去 所以我是設一個 getOut()來拿到outStream 如: User Jame = new User(TCPsocket); DataOutputStream out1 = Jame.getOut(); DataOutputStream out2 = Jame.getOut(); 這樣就可以寫了 好啦其實我看不懂你的問題,我只看到你說可以寫出去的那行,那你寫不出去的到底是 哪邊? main 那裡不就是測 你上面的地方嗎? 其實我只是想藉題發問我上面的問題而已XD -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.91.9.150
文章代碼(AID): #1Dm-HZss (java)
討論串 (同標題文章)
文章代碼(AID): #1Dm-HZss (java)