【发布时间】:2016-01-13 05:55:16
【问题描述】:
我在 Openshift 上托管了一个简单的 node.js 服务器,但它似乎不接受连接,即使它正在侦听端口。我的js文件的代码如下:
var ipaddress = process.env.OPENSHIFT_NODEJS_IP || "127.0.0.1";
var port = process.env.OPENSHIFT_NODEJS_PORT || 8080;
var players = [];
var WebSocketServer = require('ws').Server
var http = require('http');
console.log("ok");
var server = http.createServer(function(request, response) {
console.log((new Date()) + ' Received request for ' + request.url);
response.writeHead(200, {'Content-Type': 'text/plain'});
response.write("Welcome to Node.js on OpenShift!\n\n");
response.write(ipaddress);
response.write(port);
response.end("Bye");
});
server.listen( port, ipaddress, function() {
console.log((new Date()) + ' Server is listening on port 8080');
});
var wss = new WebSocketServer({
server: server,
autoAcceptConnections: true
});
wss.on('connection', function(ws) {
console.log("New connection");
ws.on('message', function(message) {
ws.send("Received: " + message);
});
ws.send('Welcome!');
});
console.log("Listening to " + ipaddress + ":" + port + "...");
function player(id, x, y){
this.id = id;
this.x = x;
this.y = y;
}
但是,当我尝试从 android 模拟器连接到此套接字时,我没有得到响应。 android studio中的连接代码如下:
public void connectSocket(){
try {
socket = IO.socket("http://testapp-weihao.rhcloud.com:8080");
socket.connect();
} catch(Exception e){
System.out.println(e);
}
}
public void configSocketEvents(){
socket.on(Socket.EVENT_CONNECT, new Emitter.Listener() {
@Override
public void call(Object... args) {
Gdx.app.log("SocketIO", "Connected");
player = new Starship(playerShip);
}
}
...
我的代码有什么问题吗?
【问题讨论】:
-
您是否尝试过从运行此 ws 服务器的同一台机器上的简单发送文本客户端:npmjs.com/package/ws#sending-and-receiving-text-data
-
谢谢,但我已经解决了问题
标签: javascript android node.js websocket openshift