socket.io 서버의 Node.js 클라이언트
socket.io 서버가 실행 중이고 socket.io .js 클라이언트와 일치하는 웹 페이지가 있습니다.모든 것이 잘 작동합니다.
하지만 다른 컴퓨터에서 클라이언트 역할을 하고 언급된 socket.io 서버에 연결할 수 있는 별도의 node.js 애플리케이션을 실행하는 것이 가능한지 궁금합니다.
그것은 소켓을 사용하여 가능할 것입니다.IO-client: https://github.com/LearnBoost/socket.io-client
앞에서 제시한 솔루션의 예를 추가합니다.을 사용하여socket.io-client
https://github.com/socketio/socket.io-client
클라이언트 측:
//client.js
var io = require('socket.io-client');
var socket = io.connect('http://localhost:3000', {reconnect: true});
// Add a connect listener
socket.on('connect', function (socket) {
console.log('Connected!');
});
socket.emit('CH01', 'me', 'test msg');
서버 측:
//server.js
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
io.on('connection', function (socket){
console.log('connection');
socket.on('CH01', function (from, msg) {
console.log('MSG', from, ' saying ', msg);
});
});
http.listen(3000, function () {
console.log('listening on *:3000');
});
실행:
2개의 콘솔을 열고 실행합니다.node server.js
그리고.node client.js
socket.io -client를 설치한 후:
npm install socket.io-client
클라이언트 코드는 다음과 같습니다.
var io = require('socket.io-client'),
socket = io.connect('http://localhost', {
port: 1337,
reconnect: true
});
socket.on('connect', function () { console.log("socket connected"); });
socket.emit('private message', { user: 'me', msg: 'whazzzup?' });
감사합니다.
const io = require('socket.io-client');
const socket_url = "http://localhost:8081";
let socket = io.connect(socket_url);
socket.on('connect', function () {
socket.emit("event_name", {});
});
예. socket.io 에서 지원하는 클라이언트라면 어떤 클라이언트라도 사용할 수 있습니다.노드, Java, Android 또는 swift 여부에 관계없이.socket.io 의 클라이언트 패키지를 설치하기만 하면 됩니다.
클라이언트 사이드 코드:저는 제 nodejs 웹 서버가 서버와 클라이언트 모두로 작동해야 하는 요구 사항이 있었기 때문에 클라이언트로 필요할 때 아래 코드를 추가했습니다. 잘 작동해야 합니다. 저는 그것을 사용하고 있고 저를 위해 잘 작동합니다!
const socket = require('socket.io-client')('http://192.168.0.8:5000', {
reconnection: true,
reconnectionDelay: 10000
});
socket.on('connect', (data) => {
console.log('Connected to Socket');
});
socket.on('event_name', (data) => {
console.log("-----------------received event data from the socket io server");
});
//either 'io server disconnect' or 'io client disconnect'
socket.on('disconnect', (reason) => {
console.log("client disconnected");
if (reason === 'io server disconnect') {
// the disconnection was initiated by the server, you need to reconnect manually
console.log("server disconnected the client, trying to reconnect");
socket.connect();
}else{
console.log("trying to reconnect again with server");
}
// else the socket will automatically try to reconnect
});
socket.on('error', (error) => {
console.log(error);
});
이와 같은 것이 나에게 효과가 있었습니다.
const WebSocket = require('ws');
const ccStreamer = new WebSocket('wss://somthing.com');
ccStreamer.on('open', function open() {
var subRequest = {
"action": "SubAdd",
"subs": [""]
};
ccStreamer.send(JSON.stringify(subRequest));
});
ccStreamer.on('message', function incoming(data) {
console.log(data);
});
언급URL : https://stackoverflow.com/questions/10703513/node-js-client-for-a-socket-io-server
'programing' 카테고리의 다른 글
코드 점화기에서 아약스 호출에서 게시물이 왔는지 확인하는 방법은 무엇입니까? (0) | 2023.08.25 |
---|---|
C 언어에서 #line의 의미는 무엇입니까? (0) | 2023.08.25 |
Angular에서 SAS와 함께 부트스트랩 4를 사용하는 방법 (0) | 2023.08.20 |
jQuery를 사용하여 iPad 사용자 탐지? (0) | 2023.08.20 |
Zend Framework 2: Ajax 호출에 대한 레이아웃 자동 비활성화 (0) | 2023.08.20 |