Browse Source

websocket

zzf 1 year ago
parent
commit
3a5b068ad6

+ 1 - 0
.gitignore

@@ -13,3 +13,4 @@
 hs_err_pid*
 
 /megablelibopen/build/
+/.gradle/

+ 10 - 0
sample/src/main/java/com/yanzhenjie/andserver/sample/MainActivity.java

@@ -31,8 +31,12 @@ import androidx.annotation.RequiresApi;
 import androidx.appcompat.app.AppCompatActivity;
 import androidx.appcompat.widget.Toolbar;
 
+import com.yanzhenjie.andserver.sample.util.Constant;
+import com.yanzhenjie.andserver.sample.util.HostUtil;
+import com.yanzhenjie.andserver.sample.websocket.SocketServer;
 import com.yanzhenjie.loading.dialog.LoadingDialog;
 
+import java.net.InetSocketAddress;
 import java.util.LinkedList;
 import java.util.List;
 
@@ -73,6 +77,12 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
         mServerManager.register();
         BluetoothManager bluetoothManager = (BluetoothManager) this.getSystemService(Context.BLUETOOTH_SERVICE);
         mBluetoothAdapter = bluetoothManager.getAdapter();
+        new Thread(() -> {
+            String address = HostUtil.getHostIp();
+            InetSocketAddress inetSocketAddress = new InetSocketAddress(address, Constant.WEB_SOCKET_PORT);
+            SocketServer socketServer = new SocketServer(inetSocketAddress);
+            socketServer.run();
+        }).start();
         // startServer;
         mBtnStart.performClick();
     }

+ 34 - 0
sample/src/main/java/com/yanzhenjie/andserver/sample/util/HostUtil.java

@@ -0,0 +1,34 @@
+package com.yanzhenjie.andserver.sample.util;//
+
+import java.net.Inet4Address;
+import java.net.InetAddress;
+import java.net.NetworkInterface;
+import java.net.SocketException;
+import java.util.Enumeration;
+
+// Created by Develoven on 2023/4/25.
+// Copyright (c) 2023 redflow. All rights reserved.
+//
+public class HostUtil {
+    public  static String getHostIp(){
+        try {
+            for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) {
+                NetworkInterface intf = en.nextElement();
+                for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();)
+                {
+                    InetAddress inetAddress = enumIpAddr.nextElement();
+                    if (!inetAddress.isLoopbackAddress() && (inetAddress instanceof Inet4Address))
+                    {
+                        System.out.println("LocalhostIP:"+inetAddress.getHostAddress().toString());
+                        return inetAddress.getHostAddress().toString();
+                    }
+                }
+            }
+        }
+        catch (SocketException ex){
+            ex.printStackTrace();
+        }
+        return null;
+
+    }
+}