欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

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

程序员文章站 2022-11-30 19:04:56
1.TCP模式下 客户端和服务器需要在同一网络下才能进行数据传输2.服务器建立(1)创建ServerSocket对象 监听端口ServerSocket serverSocket = new ServerSocket(25255);System.out.println("–开启服务器,监听端口 25255–");(2)在子线程中死循环等待客户端连接while(true){System.out.println("–等待客户端连接–");Socket socket = serverSocket....

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

本文地址:https://blog.csdn.net/weixin_44377507/article/details/107150594