Android Studio TCP IP 服务器和客户端建立

1.TCP模式下 客户端和服务器需要在同一网络下才能进行数据传输

2.服务器建立

(1)创建ServerSocket对象 监听端口
ServerSocket serverSocket = new ServerSocket(25255);
System.out.println("–开启服务器,监听端口 25255–");
(2)在子线程中死循环等待客户端连接
while(true)
{
System.out.println("–等待客户端连接–");
Socket socket = serverSocket.accept();//等待客户端连接 System.out.println(“得到客户端连接:”+socket);
startReader(socket);
}
(3)在子线程中死循环读取数据显示
private void startReader(final Socket socket) {
new Thread(){
@Override
public void run() {
DataInputStream reader;
try { // 获取读取流
reader = new DataInputStream( socket.getInputStream()); while (true) {
System.out.println(“等待客户端输入”); // 读取数据
String msg = reader.readUTF();
System.out.println(“获取到客户端的信息:” + msg); Message message = handler.obtainMessage();//获取Message对象 message.obj = msg;//设置Message对象附带的参数 handler.sendMessage(message);//向主线程发送消息
}
} catch (IOException e) {
e.printStackTrace();
}
}
}.start(); }
(4)使用Handler将数据传递主线程显示
private Handler handler=new Handler(){
/*重写handleMessage方法/
@Overridepublic void handleMessage(Message msg)
{ textView.setText(msg.obj+"");
}};

3.客户端建立
(1)创建Socket对象,连接到服务器IP 和端口
mysocket = new Socket(“10.149.113.8”, 25255);
(2)创建发送数据流outt=new DataOutputStream(mysocket.getOutputStream());
(3)读取输入数据发送
sendmsg=editText.getText().toString(); //获取客户端输入outt.writeUTF(sendmsg);

你可能感兴趣的:(Android,Studio)