-
node.js - io.socket 소켓 통신 연동back_end 2022. 11. 23. 17:53소켓통신 연결 함수
서버측
const _socketIo = async (req, res, next) => {console.log('_socketIo >>> ');io.on('connection', function (socket) {console.log(socket.id, 'Connected');// 해당 이벤트를 받고 콜백함수를 실행socket.on('msg', function (data) {console.log(socket.id, data);socket.emit('msg', `Server : "${data}" 받았습니다.`);});// 이벤트 명을 지정하고 메세지를 보낸다.socket.emit('msg', `${socket.id} 연결 되었습니다.`);});}var http = require("http");var app = express();var io = require('socket.io')(http);app.listen(8080, function() {console.log("start! server on port 8080");_socketIo();
});--> 해당 코드로는 클라이언트에서 소켓 통신 연결을 시도해도GET /socket.io/?EIO=4&transport=websocket 404 에러발생함.-> 다음과 같이 수정하니 작동함// var io = require('socket.io')(http);
var httpServer = http.createServer(app);var io = require('socket.io')(httpServer);httpServer.listen(8080, function() {_socketIo();});** 클라이언트 사이드, 플러터 코드아래와 같은 방식으로 접속,// _socket = IO.io('ws://호스트:8080', // IO.OptionBuilder() // .setTransports(['websocket']) // for Flutter or Dart VM // .disableAutoConnect() // disable auto-connection // .setExtraHeaders({'foo': 'bar'}) // optional // .build()); // _socket = IO.io('http://호스트:8080'); // _socket = await IO.io('ws://호스트:8080'); // _socket.connect();
아래와같이 전송과 수신도 가능하다._socket.emit('msg', 'flutter 에서 테스트 메세지 전송'); _socket.on('event', (data) => debugPrint(data));
참조GET/ socket io not found 404
Im following the socket io documentation though still am getting an error polling-xhr.js:157 GET http://localhost:3000/socket.io/?EIO=4&transport=polling&t=NtNlWd6 404 (Not Found) it my be
stackoverflow.com
플러터 웹소켓 채팅 Flutter WebSocket Chat (Stomp)
FullSource dependenciesstomp_dart_client: ^0.4.4 1. Summary 1.1. Connect 1) Backend에서 Spring Security를 적용하지 않아 url에 username 함께 날림 '$serverAddr/ws?${senderController.text}' 2) 소켓이 연결되면(onConnect) 자신에게 날
111coding.tistory.com
'back_end' 카테고리의 다른 글
커넥션 풀 (0) 2022.12.24 [스크랩]stateless, 클라이언트 http 요청 관련 싱글톤 (0) 2022.10.28 [메모/스크랩] FCM 노티 관련 메모.. (0) 2022.03.14 [스크랩/메모] GCP 방화벽 설정 관련 복붙 (0) 2022.02.03 firebase 클라우드 펑션 배포, 호출 (0) 2022.02.02