作者Gitangan (周大猫)
看板java
标题Re: 请教一下要如何把一各object丢到socket getoup …
时间Wed Dec 24 21:35:51 2008
不好意思还不是很懂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
2F:推 ogamenewbie:if((socket = ss.accept()).isConnected()){ ...? 12/24 22:18