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

看板java作者 (周大貓)時間15年前 (2008/12/24 21:35), 編輯推噓2(200)
留言2則, 2人參與, 最新討論串7/10 (看更多)
不好意思還不是很懂2位板友的解說= = 我再把我的server的程式碼貼上, 目前程式一直卡住中.. 突然想到一個疑問, 就是我的while 或 thread一直運作, 原本的範例是把每個in/outputstream 放在迴圈裡面, 每run一次趕會重新的new一遍... 所以我就把他拿到建構子或是主程式去new, 以免造成空間浪費...(這樣想有錯嗎?) 因為我不知道是不是每new一次新的in/outputstream, socket才會再取一次socket裡的值… 以上,謝謝。 //以下為Server public class server_t extends Thread{ static ServerSocket ss; ObjectOutputStream outstream; ObjectInputStream instream; static int port; public Socket socket; static String message; public static void main(String args[]) throws IOException { int port = 600; server_t ServerStart = new server_t(); ss = new ServerSocket(port); while(true){ if((ServerStart.socket = ss.accept()).isConnected()){ server_t t = new server_t(); t.socket = ServerStart.socket; t.instream = new ObjectInputStream (t.socket.getInputStream()); t.start(); } } } public void run(){ try { while (true) { message = instream.readUTF(); if(message.equals("/bye")) { outstream = new ObjectOutputStream(socket.getOutputStream()); outstream.writeUTF(message); outstream.close(); System.exit(1); } else { outstream = new ObjectOutputStream(socket.getOutputStream()); outstream.writeUTF(message); } } } catch (IOException e) { e.printStackTrace(); System.exit(1); } } } -- 你有一種宅男的...神祕感 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.224.61.230

12/24 22:01, , 1F
12/24 22:01, 1F

12/24 22:18, , 2F
if((socket = ss.accept()).isConnected()){ ...?
12/24 22:18, 2F
文章代碼(AID): #19KZgvYW (java)
討論串 (同標題文章)
以下文章回應了本文
完整討論串 (本文為第 7 之 10 篇):
文章代碼(AID): #19KZgvYW (java)