Php 我怎样才能解决这个袜子问题
结果:Php 我怎样才能解决这个袜子问题,php,node.js,socket.io,Php,Node.js,Socket.io,结果: 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(3
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);
<?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();
致命错误:
Uncaught UnexpectedValueException:服务器返回了意外值。
预期为“HTTP/1.1 101”,实际为“HTTP/1.1 400”
在C:\xampp\htdocs\vendor\wisembly\elephant.io\src\Engine\SocketIO\Version1X.php:266中
堆栈跟踪:
#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()
#2c:\xampp\htdocs\emit.php(12):ElephantIO\Client->initialize()
#在第266行的C:\xampp\htdocs\vendor\wisembly\elephant.io\src\Engine\SocketIO\Version1X.php中抛出3{main}
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);
<?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();
emit.php:
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);
<?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();
改用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();
改用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();