结果:
Fatal error:
Uncaught UnexpectedValueException: The server returned an unexpected value.
Expected "HTTP/1.1 101", had "HTTP/1.1 400"
in C:\xampp\htdocs\vendor\wisembly\elephant.io\src\Engine\SocketIO\Version1X.php:266
Stack trace:
#0 C:\xampp\htdocs\vendor\wisembly\elephant.io\src\Engine\SocketIO\Version1X.php(73): ElephantIO\Engine\SocketIO\Version1X->upgradeTransport()
#1 C:\xampp\htdocs\vendor\wisembly\elephant.io\src\Client.php(60): ElephantIO\Engine\SocketIO\Version1X->connect()
#2 C:\xampp\htdocs\emit.php(12): ElephantIO\Client->initialize()
#3 {main} thrown in C:\xampp\htdocs\vendor\wisembly\elephant.io\src\Engine\SocketIO\Version1X.php on line 266
server.js:
const socket = require('socket.io'),
express = require('express'),
https = require('https'),
http = require('http'),
logger = require('winston');
const app = express();
const http_server = http.createServer(app).listen(3001);
logger.info('server running port 3001');
function emitNewOrder(http_server) {
var io = socket.listen(http_server);
io.sockets.on('connection',function (socket) {
socket.on('new_order', function (data) {
io.emit("new_order", data);
});
});
}
emitNewOrder(http_server);
emit.php:
<?php
include ("vendor/autoload.php");
use ElephantIO\Client;
use ElephantIO\Engine\SocketIO\Version1X;
$version = new Version1X("http://localhost:3001");
$client = new Client($version);
$client->initialize();
$client->emit("new_order", ["test1"=>"test1","test2"=>"test2"]);
$client->close();
答案 0 :(得分:2)
请改用Version2X
<?php
include ("vendor/autoload.php");
use ElephantIO\Client;
use ElephantIO\Engine\SocketIO\Version2X;
$client = new Client(new Version2X('http://localhost:3001'));
$client->initialize();
$client->emit("new_order", ["test1"=>"test1","test2"=>"test2"]);
$client->close();