Articles of 套接字

套接字不能用于使用ws的React native和Node.js服务器

我正尝试使用套接字将我的后端(node.js服务器)连接到前端(反应原生应用程序)。 但问题是代码永远不会进入io.on('连接',…)。 即套接字连接没有build立。 任何帮助表示赞赏。 这是客户端代码: import React, { Component } from 'react'; import { Alert, Button, Text, View } from 'react-native'; export default class App extends Component { constructor(props) { super(props); const ws = new WebSocket('ws://localhost:3000'); console.log("This is client side Web socket.") ws.onopen = () => { console.log("Its connected") ws.send('something'); // send a message }; […]

通过套接字从js客户端发送数据到py服务器不起作用

我试图通过套接字从js发送一些数据到py服务器。 JS客户端: <script src="/socket.io/socket.io.js"></script> <script> var socket = io.connect('http://localhost:1729'); socket.send("1234"); </script> Py服务器: import socket server_socket4=socket.socket() server_socket4.bind(('localhost', 1729)) server_socket4.listen(1) (client_socket,client_adress)=server_socket4.accept() print client_socket.recv(1024) server_socket4.close() 这是印刷这个: GET /socket.io/?EIO=3&transport=polling&t=M1KiY71 HTTP/1.1 Referer: http://localhost:8000/index.html Accept: */* Accept-Language: en-US,en;q=0.7,he;q=0.3 Accept-Encoding: gzip, deflate User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko Host: localhost:1729 DNT: 1 Connection: Keep-Alive 我怎样才能打印“1234”?

在node.js中保持打开一个tcp套接字

我打开一个tcp连接到一个服务器很容易做到,但我需要一种方法来保持打开的套接字,而不必一次又一次地调用net.createConnection(port, host) 。 我想实现的是一个套接字服务器,它接受多个连接,然后通过一个套接字通道请求,如上所述。 然后我需要将响应传递给正确的套接字。 但是,我唯一的问题是维护一个开放的套接字,我试图在侦听服务器代码之外创build。 我已经用Singleton模式接近它来创build套接字.. var Singleton = (function() { var socket = null; function connectToHost(port, host) { socket = net.createConnection(port, host); return socket; } return { connectToHost: connectToHost }; })(); 但从我可以看到,在事件('结束')该套接字不再可写。 如果我重新连接sockets。 socket.on('end', function() { socket = Singleton.connectToHost(port, host); }); Event('end')会发生同样的事情。 我怎么能这样做,以便我可以创build和维护一个套接字连接?

Node.JS WebSocket和Socket

我想混合两个普通套接字和WebSocket。 所有收到的套接字消息应通过websocket广播给所有连接的用户。 我有这部分代码: var net = require('net'); var io = require('socket.io').listen(13673, 'localhost'); net.createServer(function (stream) { stream.setEncoding('utf8'); stream.on('data', function (data) { // HERE SHOULD BE WS BROADCAST console.log(data); }); }).listen(24768); io.sockets.on('connection', function (socket) { socket.on('message', function (text) { var message = { 'type': 'message', 'received': new Date(), 'text': text }; socket.broadcast.json.send([message]); socket.json.send([message]); }); }); 所以,除了它工作得很好,但我想要一直听正常的套接字,并处理收到的消息到WebSocket。 把一个人放在其他地方是行不通的。

node.js代理服务器发送到http服务器,并在http服务器closures时终止

我通过代理服务器将数据从客户端套接字发送到http服务器。 当我从代理服务器发布这个数据到http,一切工作正常,但如果我closureshttp服务器,代理服务器死亡。 我以为post.end()函数会closures请求,但显然不是?! 我必须做一些callback魔术吗? 我附上了我的控制台输出,下面是对这些步骤的简要说明: 启动服务器:节点–harmony_weakmaps server.js 启动API(http服务器):节点api.js 启动一个客户端(telnet localhost 5280) 客户端连接消息:{“m”:“connect”,“id”:“123”} 客户端消息给api:{“m”:“x”,“id”:“123”} 杀死API进程 – 它爆炸了 控制台(服务器): >>node –harmony_weakmaps server.js Starting heartbeat TCP server listening on 127.0.0.1:5280 HTTP server listening on 127.0.0.1:9002 Connection from 127.0.0.1:49356 id:undefined received data: {"m":"connect","id":"123"} id: 123 m: connect associating uid 123 with socket [object Object] Heartbeat Time: Tue Feb 14 […]

基于在线多人游戏浏览器的游戏服务器技术?

我想要构build一个简单的跨浏览器的多人游戏(如国际象棋或纸牌游戏),它将使用套接字与服务器通信。 我有一些Ruby语言的中间知识,但是我不太确信它是多客户端服务器的一个很好的解决scheme,所以认为Node.js或者Socket.io可能是一个更好的解决scheme。 我知道Java或者C ++对于这个工作来说可能很棒,但是我对它们都不太满意,所以这就是我对服务器端JavaScript的兴趣所在。 我的问题是,你认为什么是这样一个项目的最佳解决scheme? 什么可能是最好的服务器端技术,我将build立一个完整的游戏和通信逻辑? 也许他们的一些组合? 任何有关速度,服务器负载,托pipe解决scheme和每种技术的开发速度的意见将不胜感激。

Node.js未被捕获的套接字exception – 套接字已closures

这是问题。 在写入一个封闭的套接字的时候,我得到一个exception,并且这个exception没有被try catch捕获,大概是因为它在promise中。 promise.then(function (val) { try { sock.write(val + tcpDelimiter); } catch (err) { logger.info('yeah right this will not work at all'); } }) .fail(function (error) {}); 而且,将process.uncaughtexception添加到主应用程序也无济于事。 这是控制台输出: 2012-10-04T19:22:21.109Z – error: uncaughtException date=Thu Oct 04 2012 19:22:21 GMT+0000 (UTC), pid=21508, uid=0, gid=0, cwd=/home/ec2-user/js-proxy, execPath=/usr/bin/nodejs, version=v0.6.18, argv=[/usr/local/bin/node, /home/ec2-user/js-proxy/app.js, –jsproxy], rss=13914112, heapTotal=5634752, heapUsed=4082564, loadavg=[0.0380859375, 0.08056640625, […]

如何杀死nodejs中的连接

我有一个家庭作业,只使用节点本地模块构build一个http服务器。 我试图保护服务器免于重载,所以每个请求被哈希和存储。 如果某个请求达到一个很高的数字,比如说500,我就调用socket.destroy() 。 每间隔(一分钟)我重新启动哈希表。 问题是,当我做一个以前死了的套接字现在再次工作。 我每次做的唯一的事情是requests = {} ,而且与连接无关。 任何想法,为什么连接重新生活? 有比使用destroy()更好的函数吗? 谢谢

Node.js AppFog上的TCP Socket服务器

鉴于以下在AppFog上运行的简单的TCP套接字服务器,无论客户端发送什么,都会回应。 var net = require('net'); var server = net.createServer(function (socket) { socket.write('Echo server\r\n'); socket.pipe(socket); }); var port = process.env.VCAP_APP_PORT || 80; server.listen(port); console.log('Server running at ' + port); 我似乎无法连接到服务器。 它在我的本地开发机器上工作正常。 AppFog支持我所要做的吗? 我对Node.js比较陌生,所以我不能肯定地说代码是正确的。

我可以在我的Windows Phone 8应用程序中使用Node.js吗?

我正在开发一个需要通过套接字传输数据的应用程序。 我必须使用标准的http协议通过套接字发送和接收数据。 那么我可以在我的windows phone 8应用程序中使用Node.js分别创build和parsingHttp请求和响应吗? 我在c#.NET中编写代码。 提前致谢。 问候,维杰