套接字编程跨平台(PHP和Javascript)
我用PHP创建了一个套接字服务器,代码如下 PHP套接字编程跨平台(PHP和Javascript),javascript,php,sockets,Javascript,Php,Sockets,我用PHP创建了一个套接字服务器,代码如下 PHP function listen() { // set some variables $host = "127.0.0.1"; $port = 25003; // don't timeout! set_time_limit(0); // create socket $socket = socket_create(AF_INET, SOCK_STREAM, 0) or die("Could not create so
function listen()
{
// set some variables
$host = "127.0.0.1";
$port = 25003;
// don't timeout!
set_time_limit(0);
// create socket
$socket = socket_create(AF_INET, SOCK_STREAM, 0) or die("Could not create socket\n");
// bind socket to port
$result = socket_bind($socket, $host, $port) or die("Could not bind to socket\n");
// start listening for connections
$result = socket_listen($socket, 3) or die("Could not set up socket listener\n");
// accept incoming connections
// spawn another socket to handle communication
$spawn = socket_accept($socket) or die("Could not accept incoming connection\n");
// read client input
$input = socket_read($spawn, 1024) or die("Could not read input\n");
// clean up input string
$input = trim($input);
echo "Client Message : " . $input."\n";
// reverse client input and send back
$output = strrev($input) . "\n";
socket_write($spawn, $output, strlen($output)) or die("Could not write output\n");
// close sockets
socket_close($spawn);
socket_close($socket);
listen();
}
set_time_limit(0);
listen();
取自
我使用Javascript创建客户端套接字,如下所示
Javascript
<!DOCTYPE HTML>
<html>
<head>
<script type="text/javascript">
function WebSocketTest()
{
if ("WebSocket" in window)
{
alert("WebSocket is supported by your Browser!");
// Let us open a web socket
var ws = new WebSocket("ws://localhost:25003");
ws.onopen = function()
{
// Web Socket is connected, send data using send()
ws.send("Message to send");
alert("Message is sent...");
};
ws.onmessage = function (evt)
{
var received_msg = evt.data;
alert("Message is received...");
};
ws.onclose = function()
{
// websocket is closed.
alert("Connection is closed...");
};
}
else
{
// The browser doesn't support WebSocket
alert("WebSocket NOT supported by your Browser!");
}
}
</script>
</head>
<body>
<div id="sse">
<a href="javascript:WebSocketTest()">Run WebSocket</a>
</div>
</body>
</html>
第二个参数是什么?这是否连接到我的php文件?因为我试图定位到我的php,它不工作。php套接字服务器正常,问题是Javascript,它正在发送HTTP请求,而此发送是HTTP协议 您可以在该端口上启动PHPWeb服务器,并在Ajax查询时回答该问题 命令行以像Web服务器一样启动php
php -S 127.0.0.1:25003
Web服务器的文档根与PHP相同我已经启动了PHP,但是如何从js创建请求?我的web套接字初始化是否正确?像这样的
新WebSocket(“ws://localhost:25003/server.php”)代码>如果你想测试和学习WebSockets,也许你需要一些类似的socketo.me/docs,Misyaath Mohammed的回复有一个有用的链接。
php -S 127.0.0.1:25003