Re: 請教一下要如何把一各object丟到socket getoup …

看板java作者時間20年前 (2004/08/08 02:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/10 (看更多)
※ 引述《otp@bbs.ee.ntu.edu.tw (otp)》之銘言: > 請教一下要如何把一各object丟到socket的.....getouputstream?!.... > THANX 簡單來講 你應該有寫類似Server和Client的class來建立TCP連線 我想你應該是要問..怎麼傳送Object到另一方? 在Server裡頭你應該有用到ServerSocket還有Socket 在Client裡頭你應該有用到Socket 假設在Server裡頭你宣告了 Socket acceptedSocket 在Client裡頭你宣告了 Socket clientSocket 這兩個socket代表Server-Client溝通的Channel 如果你想在Server裡頭寫接收和傳送Object的Method,你可以參考一下: //一開始先宣告 ObjectInputStream OIS = null; ObjectOutPutStream OOS = null; //接收來自於Client端的Object public void rcvObject() { try{ OIS = new ObjectInputStream(acceptedSocket.getInputStream()); } catch(Exception e) {} } //傳送Object到Client端 public void sndObject() { try{ OOS = new ObjectOutputStream(acceptedSocket.getOutputStream()); OOS.writeUTF(....); //....表你想要傳送給Client的東西 OOS.flush(); } catch(Exception e) {} } 下面是Client裡頭接收和傳送的Method: //一開始先宣告 ObjectInputStream OIS = null; ObjectOutPutStream OOS = null; //接收來自於Server端的Object public void rcvObject() { try{ OIS = new ObjectInputStream(clientSocket.getInputStream()); } catch(Exception e) {} } //傳送Object到Server端 public void sndObject() { try{ OOS = new ObjectOutputStream(clientSocket.getOutputStream()); OOS.writeUTF(....); //....表你想要傳送給Server的東西 OOS.flush(); } catch(Exception e) {} } ---- 注意一下在實作Server-Client的接收傳送的方法時 最好將rcvObject()還sndObject()兩個方法另外用Thread去執行 否則整個Program在執行時會發生因為空等造成Idle的情形 -- ※ Origin: 楓橋驛站<bbs.cs.nthu.edu.tw> ◆ From: u16-14.u203-187.giga.net.tw
文章代碼(AID): #115HZe00 (java)
討論串 (同標題文章)
文章代碼(AID): #115HZe00 (java)