2012-02-02 87 views
0

我使用套接字連接到我的本地服務器:Android的套接字連接流

public static Socket clientSocket; 
public static DataOutputStream outToServer; 
public static DataInputStream inToServer; 

...

clientSocket = new Socket("192.168.1.102", 15780); 
outToServer = new DataOutputStream(clientSocket.getOutputStream()); 
inToServer = new DataInputStream(clientSocket.getInputStream()); 
outToServer.writeBytes(nameStr + "\n"); 
outToServer.flush(); 

它的工作原理 但如果我檢查用戶名和進入下一個活動

我不能使用(連接總是打開)
outToServer = new DataOutputStream(Connection03Activity.clientSocket.getOutputStream()); 
inToServer = new DataInputStream(Connection03Activity.clientSocket.getInputStream()); 

outToServer.writeBytes(str + "\n"); 
outToServer.flush(); 

爲什麼?如何組織連接rigth?

回答

0

我想你不應該嘗試創建新的輸入輸出流 - 它是在第一個活動中聲明和初始化的。請致電Connection03Activity.clientSocket.getOutputStream().writeBytes(...)

Offtopic:

不要忘記關閉流和插座上的應用緊密 - 這將節省電池壽命和流量。