android套接字连接流

时间:2012-02-02 11:23:48

标签: java android sockets

我使用Socket连接到我的本地服务器:

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();

它有效 但如果我检查用户名并转到下一个活动

Intent i = new Intent(this, RoomClass.class);
startActivity(i);

我无法使用(连接始终是开放的)

outToServer = new DataOutputStream(Connection03Activity.clientSocket.getOutputStream());
inToServer = new DataInputStream(Connection03Activity.clientSocket.getInputStream());

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

为什么呢?如何组织连接工具?

1 个答案:

答案 0 :(得分:0)

我想你不应该尝试创建新的In和Out流 - 它是在第一个活动中声明和初始化的。只需致电Connection03Activity.clientSocket.getOutputStream().writeBytes(...)

Offtopic:

请勿忘记在关闭应用程序时关闭流和插座 - 这样可以节省电池寿命和流量。