Android端:package com.example;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.Socket;import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;public class ClientActivity extends Activity { EditText ip;
EditText content;
Button send;
Socket socket;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_client);
        
        ip = (EditText)findViewById(R.id.ip);
        content = (EditText)findViewById(R.id.content);
        send = (Button)findViewById(R.id.send);
        send.setOnClickListener(new sendListener());
    }    class sendListener implements OnClickListener
    { public void onClick(View v)
{

Socket socket = null;
String message = content.getText().toString();
try
{
socket = new Socket(ip.getText().toString(), 54321);
PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())), true);
out.print(message);

BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String msg = br.readLine();

if (msg != null)
{
ip.setText(msg);
}
else
{
ip.setText("数据错误");
}

out.close();
br.close();
socket.close();
} catch (Exception e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
    
    }}

解决方案 »

  1.   

    你好!你可能没有调用out.flush()方法,可能内容还存在缓冲区中,导致的,另外你也可以尝试其它的输入流,例如;DataOutputStream等,希望你能成功。
      

  2.   

    问题解决了,在客户端out.print(message);改为out.println(message);就行了,不过问题是在模拟器上运行没问题,但是在真机上,服务器端始终无输出?不知道什么原因
      

  3.   

    http://blog.csdn.net/skyxuyan/article/details/7985132看这个
      

  4.   

    android客户端:开个线程,把连接服务器进行处理的那段程序放在线程里就可以了.
      

  5.   

    可能是是在manifest文件中需要添加权限的 。