Web编程对我来说是一件新事物,所以我有几个问题。我的目标是与在线货币兑换服务器进行交互。标准API发送延迟数据使其使用不合适,但Web视图也提供SocketIO接口。我只需要监听套接字并在无限循环中接收信息。我该怎么做?
SocketIO与普通套接字接口有什么不同?我的程序是用PhP编写的,而SocketIO是一个JavaScript库,如果我做对了。所以我可以避免使用它。在我的情况下,什么是最好的(除了接收数据之外,该程序不应该做任何特别的事情)。服务器使用TSL / SSL协议。
任何接近我的问题的示例/链接都会受到欢迎。
谢谢!
答案 0 :(得分:1)
PHP和socket.io一起工作。使用html和PHP之间的唯一区别在于将两者链接在一起的方式(常见教程显示了一种仅适用于html的方式,但还有另一种方法适用于html和php)。
var socket = require('socket.io');
var express = require('express');
var http = require('http');
var app = express();
var server = http.createServer(app);
var io = socket.listen(server);
然后删除app.use
和app.get
,因为不再需要它们来完成此操作。然后在server.js的末尾添加server.listen(8000);
。对于依赖项,请使用:<script src="//cdn.socket.io/socket.io-1.0.0.js"></script>
。然后,要运行您的服务器,请在终端中转到它并键入node server.js
。然后只需与您的客户端连接即可。此外,对于事件,在服务器中,使用:
io.on('connection', function (client) {
client.on('someEvent', function(someVariables){
//Do something with someVariables when the client emits 'someEvent'
io.emit('anEventToClients', someData);
});
client.on('anotherEvent', function(someMoreVariables){
//Do more things with someMoreVariables when the client emits 'anotherEvent'
io.emit('anotherEventToClients', someMoreData);
});
});
在您的客户端代码中:
socket.emit('someEvent', variables);
socket.on('anEventToClients', function(something){
//Code when anEventToClient is emitted from the server
});