Флаттер, как подключить сокет? - PullRequest
0 голосов
/ 02 июня 2018

Flutter, как подключиться к сокету, для которого я пишу скрипт Python как сервер, эта сторона сервера выглядит следующим образом:

import socket
import time


sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.bind(("192.168.0.113", 9999))# 注意bind的这里,IP地址和端口号都要与前面的程序中一样
sock.listen(2)# 监听端口

# 等待数据源端连接
src, src_addr = sock.accept()
print "Source Connected by", src_addr

# 等待目标端连接
dst, dst_addr = sock.accept()
print "Destination Connected by", dst_addr

while True:
    msg = src.recv(1024 *1024)
    if not msg:
        break
    try:
        dst.sendall(msg)
    except Exception as ex:
        dst, dst_addr = sock.accept()
        print "Destination Connected Again by", dst_addr
    except KeyboardInterrupt:
        print "Interrupted"
        break

src.close()
dst.close()

Я хочу использовать Flutter, чтобы написать очень простой клиент, чтобы показатьИзображение, отправленное с этого сервера Python через сокет, как этого добиться?

1 Ответ

0 голосов
/ 06 июня 2018

Я не знаю о сырых сокетах, но если вы можете использовать WebSockets в Python, вы можете использовать пакет web_socket_channel :

import 'package:web_socket_channel/io.dart';
import 'package:web_socket_channel/status.dart' as status;

main() async {
  var channel = await IOWebSocketChannel.connect("ws://localhost:1234");

  channel.stream.listen((message) {
    channel.sink.add("received!");
    channel.close(status.goingAway);
  });
}

Более подробная информация об использовании здесь:

https://flutter.io/cookbook/networking/web-sockets/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...