作者Gitangan (周大貓)
看板java
標題Re: 請教一下要如何把一各object丟到socket getoup …
時間Wed Dec 24 02:34:27 2008
: {
: try{
: OIS = new ObjectInputStream(acceptedSocket.getInputStream());
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
因為我現在寫的東西想要傳object,爬了一下文,發現曾有討論過,
client這裡的寫法跟我現在寫的差不多…但是這行就是過不去(程式也沒有停止)。
拿了書上Client / Server 的範例來試..
以下是Client我現在的寫法…一開始不是用ObjectOutputStream / ObjectInputStream
而是用 DataOutputStream / DataInputStream ...就可以通,可以互傳訊息。
另外再問一下問題,我要寫一個類似撲克牌的Game..牌是我自己寫的class..
所以想靠new出來的物件去做client / server 之間的傳遞...
然後找到Object的OutputStream / InputStream...
我這個想法應該沒有錯吧?請板友指點...謝謝
//Code
public class Client{
public Socket socket;
public ObjectOutputStream outstream;
public ObjectInputStream instream;
public static String servername;
public static int port;
public static void main(String args[]) {
servername = "localhost";
port = 600;
Client client = new Client();
}
public Client() { //建構子
try {
socket = new Socket(servername, port); //new Socket
outstream = new ObjectOutputStream(socket.getOutputStream());
instream = new ObjectInputStream(socket.getInputStream());
//程式停在這邊,但程式沒有終止...停在ObjectInputStream...
....
}catch (IOException e) {}
}
}
: }
: 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) {}
: }
--
你今天展爆了嗎??
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 125.224.75.11
推 ogamenewbie:你的 object Serializable 了嗎? 12/24 02:51
→ Gitangan:此object是指我的OutputStream 或InputStream嗎?... 12/24 12:14
推 ogamenewbie:透過 ObjectOut/InputStream 丟的 Object 要 Ser... 12/24 13:34
推 sbrhsieh:他的問題還沒牽涉到 writeObject,跟 Serializable 無關 12/24 14:36
→ Gitangan:是呀...我只是不知道為什麼卡在那裡不動...用Data就可以 12/24 21:13