• 【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"/>
  • 相关阅读:
    UE4_简易AI_玩家死亡动画bug修复
    UE4_简易AI_Ai攻击
    pikachu-SSRF
    pikachu-XXE漏洞
    pikachu-PHP反序列化
    pikachu-Over permission(越权漏洞)
    pikachu-不安全的文件下载和上传
    pikachu-File Inclusion(文件包含漏洞)
    Web安全之RCF(远程命令,代码执行漏洞)
    Web安全之SQL Inject 2
  • 原文地址:https://www.cnblogs.com/laishenghao/p/5312956.html
Copyright © 2020-2023  润新知