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

时间:2015-03-23 20:51:28

标签: php sockets xampp localhost

我在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);?>

并出现错误说“

  

警告:socket_connect():无法连接[102]:第5行的/Applications/XAMPP/xamppfiles/htdocs/SOCKTEST.php中的套接字不支持该操作“

问题出在哪里?

2 个答案:

答案 0 :(得分:1)

我不知道你的代码的目标。但是这里有一个很棒的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例如。

答案 1 :(得分:0)

服务器监听和接受,客户端连接。同一套接字端点不能同时是服务器(监听)和客户端(连接)