我无法将我的安卓模拟器连接到我的电脑。我可以将信息发送到 android,但是发送回来时它就失败了。
这是我到目前为止所拥有的:
public class sendDataToRegion extends AsyncTask<String,Void,List<String> >{
final TextView who = (TextView)findViewById(R.id.txtWho);
final TextView what = (TextView)findViewById(R.id.txtWhat);
final TextView when = (TextView)findViewById(R.id.txtWhen);
final TextView where = (TextView)findViewById(R.id.txtWhere);
final TextView actionTaken = (TextView)findViewById(R.id.txtActionTaken);
final TextView lengthOfTime = (TextView)findViewById(R.id.txtLengthOfTime);
public List<String> dataSend2 = new ArrayList<String>();
@Override
protected List<String> doInBackground(String... params) {
try
{
System.out.println("Mobile Server Program");
String whoString = who.getText().toString();
String whatString = what.getText().toString();
String whenString = when.getText().toString();
String whereString = where.getText().toString();
String actionString = actionTaken.getText().toString();
String lengthString = lengthOfTime.getText().toString();
dataSend2.add(whoString);
dataSend2.add(whatString);
dataSend2.add(whenString);
dataSend2.add(whereString);
dataSend2.add(actionString);
dataSend2.add(lengthString);
int port = 4444;
ServerSocket server = new ServerSocket(port);
Socket socket=server.accept();
DataOutputStream network = new DataOutputStream(socket.getOutputStream());
for(int i = 0; i< dataSend2.size();i++){
network.writeUTF(dataSend2.get(i));
}
}
catch (Exception e) {
Log.e("TCP", "S: Error", e);
}
return dataSend2;
}
protected void onPostExecute( ) {
System.out.println("Thread Finished " + dataSend2.size());
}
}//End of inner class
它甚至可以创建服务器套接字,但之后就没有了。有人能指出我正确的方向吗?
谢谢
更新
这是客户:
try
{
String ip = "146.176.230.192";
System.out.println("IP connected");
int port = 4444;
System.out.println("port connected");
// Connect to the server
Socket sock = new Socket(ip, port);
System.out.println("socket created");
// Create the incoming stream to read messages from
DataInputStream network = new DataInputStream(sock.getInputStream());
// Display our address
System.out.println("Address: " + sock.getInetAddress());
String line;
while ((line = network.readUTF()) != null)
{
System.out.println(line);
}
sock.close();
}
catch (IOException ioe)
{
System.out.println("Connection failed");
}