如何通过 php 编写套接字代码

How to write socket codes via php

我在PHP

中写了下面的代码
<?php
$mysocket = socket_create(AF_INET, SOCK_STREAM , 0);
socket_bind($mysocket, '127.0.0.1',1024);
socket_listen($mysocket) or die("unable to listen!");
socket_connect($mysocket , '127.0.0.1' , 1024);?>

然后出现一个错误说

Warning: socket_connect(): unable to connect [102]: Operation not supported on socket in /Applications/XAMPP/xamppfiles/htdocs/SOCKTEST.php on line 5"

问题出在哪里?

我不知道你的代码的目标。但这里有一个很棒的套接字编程教程 PHP。

https://www.christophh.net/2012/07/24/php-socket-programming/

我测试了你的代码。如果您将套接字绑定到地址

,则会出现错误
$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
socket_bind($sock, '127.0.0.1');
socket_connect($sock, '127.0.0.1', 1337);
socket_close($sock);

http://php.net/manual/de/function.socket-bind.php

PHP 文档中的示例。如果您使用不同的实例来测试您可以通过网络连接到另一个实例或计算机的问题,也许会更好。为此,您可以使用 vagrant 例如。

服务器监听并接受,客户端连接。同一个套接字端点不能既是服务器(侦听)又是客户端(连接)