flutter SocketIO示例

class SocketIOWidget extends StatefulWidget{
  const SocketIOWidget({super.key});

  @override
  State<SocketIOWidget> createState() {
    return SocketIOState();
  }
}

class SocketIOState extends State<SocketIOWidget>{


  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text("SocketIO"),),
      body: Column(
        crossAxisAlignment: CrossAxisAlignment.start,
        children: <Widget>[
          FutureBuilder(
            future: _request(),
            builder: (context,snapShot){
                return Text(snapShot.data.toString());
            }),
        ],
      ),
    );
  }
  
  _request() async{
    //建立连接
    var socket=await Socket.connect("baidu.com", 80);
    //根据http协议,发起 Get请求头
    socket.writeln("GET / HTTP/1.1");
    socket.writeln("Host:baidu.com");
    socket.writeln("Connection:close");
    socket.writeln();

    await socket.flush();//发送

    //读取返回内容,按照utf8解码为字符串
    String result=await utf8.decoder.bind(socket).join();
    socket.cast();
    return result;
  }
}

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/xiaopihair123/article/details/125203543