zoukankan      html  css  js  c++  java
  • 【Android】基于TCP协议的网络通信

     

    1.使用ServerSocket 创建TCP服务器端:

     1 ServerSocket server;
     2 try {
     3     server = new ServerSocket(8000);
     4     while (true) {
     5         Socket client = server.accept(); // 等待客户端的请求
     6         OutputStream stream = client.getOutputStream();
     7         stream.write("hello world!
    ".getBytes("utf-8"));// 发送消息
     8         stream.close();
     9         client.close();
    10     }
    11 }
    12 catch (Exception ex) {
    13     ex.printStackTrace();
    14 }

        以上的简单例子中我们使用 utf-8字符集进行编码,因为Android是基于Linux内核的,当客户端读取网络数据时,默认使用 utf-8 字符集进行解码,这样可以避免乱码的产生。

     

    2. 用Socket创建TCP客户端:

     

     1 Socket client;
     2 try {
     3     // 创建客户端并建立远程连接,具体IP地址和端口号需根据实际情况而定
     4     client = new Socket("192.168.1.94", 8000);
     5     // 将接受到的输入流封装成BufferedReader
     6     BufferedReader reader = new BufferedReader(
     7             new InputStreamReader(client.getInputStream()));
     8     String msg = reader.readLine();
     9     Log.w("TCP", msg);
    10     reader.close();
    11     client.close();
    12 }
    13 catch (Exception ex) {
    14     ex.printStackTrace();
    15 }

    3. 在 AndroidManifest.xml 中添加应用权限:

    <uses-permission android:name="android.permission.INTERNET"/>
  • 相关阅读:
    网站负载均衡判断
    端口扫描nmap+masscan
    Ant Design Upload 组件之阻止文件默认上传
    Hybrid App技术解析
    react 路由
    webpack进阶(二)
    webpack进阶(一)
    webpack基础
    Promise原理及实现
    TS——类
  • 原文地址:https://www.cnblogs.com/laishenghao/p/5312956.html
Copyright © 2011-2022 走看看