2017-12-29 5 views
0

Node.js와 Express를 사용하여 socket.io 서버를 만들었습니다. 모든 브라우저와 일반 socket.io 클라이언트에서 잘 작동하지만 난 떨림에 웹 소켓을 사용하려고 할 때 오류를 얻을 난 그냥 기본적인 작업을 같이 연결 얻기 위해 노력하고Flutter WebSockets가 Socket.io 서버에 연결

HttpException: Connection closed before full header was received, uri = http://csw.abbadabba.tech:3001 

:

이 작업을 이미 수행 한 사람이 누구인지, 내 응용 프로그램이 항상 연결되어있는 채팅 서버를 사용하려고하면 샘플을 볼 수 있습니다. 사용하기에 더 좋은 서버 아키텍처가 있으면 열려 있습니다. 잘. 어떤 도움이라도 좋을 것입니다.

미리 감사드립니다.

답변

1

최근에 Flutter App을 socket.io 서비스에 연결하려고 시도했습니다.

불행히도 socket.io 프로토콜을 구현하지 않고 단순히 WebSocket을 사용할 수는 없습니다. 왜냐하면 내가 직접 구현하려고하지 않기 때문에 Dart를위한 socket.io 라이브러리를 찾으려고했다. 라이브러리 (https://github.com/rikulo/socket.io-dart)가 있지만 다트 html을 사용하기 때문에 펄럭이지 않습니다. 지금까지이 문제에 대한 좋은 해결책을 찾지 못했습니다.

안부

0

I 효율적으로이 작업을하는 방법을 발견했다. 나는 사용하고있다

import 'package:web_socket_channel/io.dart'; 

이것은 메시지를 연결하고 메시지를 보내고 받기 위해 필요한 코드를 제공한다.

doConnect(url, fullname) async { 
    chatsocket = await new IOWebSocketChannel.connect(url, pingInterval: new Duration(seconds: 5)); 
    ChatServerConnect csc = new ChatServerConnect('connect', fullname); 
    var json = jsonCodec.encode(csc); 
    chatsocket.sink.add(json); 
    _getPrefs(); 
    isConnected = true; 
    syncMessages(); 
    chatlisten(chatsocket); 
    } 

연결을 위해 수정할 수 있지만 필요한 것은 내가 만든 websocket 서버에만 해당됩니다.

희망이 도움이됩니다. 수신 메시지에도 리스너가 필요하다는 것을 잊지 마십시오. 싱글 톤으로 이것을 수행하고 인스턴스를 선언하여 전체 앱에서 호출 할 수 있습니다.

관련 문제