android Socket的使用

本文介绍了在Android中使用Socket进行通信的详细步骤。首先展示了如何设置WiFi热点,然后创建服务端监听特定端口,为每个连接创建新线程处理通信。接着,讨论了设置缓冲区大小、心跳包检测连接状态的重要性,以及在不同Android版本中Socket写入操作的注意事项。最后,简要提及客户端如何连接到服务端。
摘要由CSDN通过智能技术生成

最近做了个项目,里面用了socket来通信,今天总结下。Socket服务端设备需提供热点供客户端所在设备连接。

先讲服务端:

因为需要服务端提供热点,所以我们先要去打开热点并配置,方法如下:

public static boolean setWifiApEnabled(boolean enable,String wifiName,String passWord){

    WifiManager wifiManager = (WifiManager)getSystemService(Context.WIFI_SERVICE);

    if(enabled){

    //wifi和热点不能同时打开,所以打开热点的时候需要关闭wifi

    wifiManager.setWifiEnabled(false);

    }

    try{

    WifiConfiguration apConfig = new WifiConfiguration();

    //热点名称

    apConfig .SSID = wifiName;

    //热点密码

    apConfig.preSharedKey = passWord;

    Method method = wifiManager.getClass().getMethod(“setWifiApEnabled”,WifiConfiguration.class,Boolean.TYPE);

    return (Boolean)method.invoke(wifiManager,apConfig,enabled);

    }catch(Exception e){

          return false;

    }

}

热点配置完后,服务端需要提供端口,等待客户端连接,因为网络操作不能直接写在主线程里,所以需要开一个线程去执行:

new Thread(){

    @Override

    public void run(){

    super.run();

    try{

     //服务端提供端口号

    ServerSocket serverSocket = new ServerSocket(7240);

    while(true){

    //等待连接

    Socket mSocket = serverSocket.accept();

    new Thread(new socketTask(mSocket)).start();

    }

    }catch(IOException e){

    e.printStackTrace();

    }

    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值