public class SocketDemo {
ServerSocket ss;
public SocketDemo() {
System.out.println("服务器启动了");
try {
ss=new ServerSocket(2000);
while(true){
Socket s=ss.accept();
new MyThread(s).start();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* @param args
*/
public static void main(String[] args) {
SocketDemo demo=new SocketDemo();
}}
class MyThread extends Thread{
Socket s;
public MyThread(Socket s) {
this.s=s;
}
@Override
public void run() {
try {
System.out.println("返回---");
BufferedReader br=new BufferedReader(new InputStreamReader(s.getInputStream()));
//读取一个输入流 BufferedReader(Reader in)
//创建一个使用默认大小输入缓冲区的缓冲字符输入流。
String str=br.readLine();
System.out.println(str);
PrintWriter pw=new PrintWriter(new BufferedWriter(new OutputStreamWriter(s.getOutputStream())),true);
//负责自动刷新,必须加true
pw.println("返回"+str);
pw.flush();
br.close();
pw.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
服务端代码
public class mainActivity extends Activity {
/** Called when the activity is first created. */
private static final String TAG="ClientSocketActivity";
private TextView textview;
private EditText edittext;
private Button button;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
edittext = (EditText)findViewById(R.id.editText1);
button = (Button)findViewById(R.id.button1);
button.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
// TODO Auto-generated method stub
try {
Socket socket = new Socket("10.0.1.34",2000);
String str=edittext.getText().toString()+"\r\n";
PrintWriter pw=new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())),true);
pw.println(str);
BufferedReader br=new BufferedReader(new InputStreamReader(socket.getInputStream()));
String strTest=br.readLine();
Log.i(TAG, strTest);
pw.flush();
br.close();
pw.close(); } catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
}
}客户端代码 运行之后就是没有反应 也没有报错。真纠结。希望大虾们围观下。
ServerSocket ss;
public SocketDemo() {
System.out.println("服务器启动了");
try {
ss=new ServerSocket(2000);
while(true){
Socket s=ss.accept();
new MyThread(s).start();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* @param args
*/
public static void main(String[] args) {
SocketDemo demo=new SocketDemo();
}}
class MyThread extends Thread{
Socket s;
public MyThread(Socket s) {
this.s=s;
}
@Override
public void run() {
try {
System.out.println("返回---");
BufferedReader br=new BufferedReader(new InputStreamReader(s.getInputStream()));
//读取一个输入流 BufferedReader(Reader in)
//创建一个使用默认大小输入缓冲区的缓冲字符输入流。
String str=br.readLine();
System.out.println(str);
PrintWriter pw=new PrintWriter(new BufferedWriter(new OutputStreamWriter(s.getOutputStream())),true);
//负责自动刷新,必须加true
pw.println("返回"+str);
pw.flush();
br.close();
pw.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
服务端代码
public class mainActivity extends Activity {
/** Called when the activity is first created. */
private static final String TAG="ClientSocketActivity";
private TextView textview;
private EditText edittext;
private Button button;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
edittext = (EditText)findViewById(R.id.editText1);
button = (Button)findViewById(R.id.button1);
button.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
// TODO Auto-generated method stub
try {
Socket socket = new Socket("10.0.1.34",2000);
String str=edittext.getText().toString()+"\r\n";
PrintWriter pw=new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())),true);
pw.println(str);
BufferedReader br=new BufferedReader(new InputStreamReader(socket.getInputStream()));
String strTest=br.readLine();
Log.i(TAG, strTest);
pw.flush();
br.close();
pw.close(); } catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
}
}客户端代码 运行之后就是没有反应 也没有报错。真纠结。希望大虾们围观下。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货