php - 可重复使用的 socket

标签 php sockets reusability

我试图在 php 中创建一个套接字并从其他进程中重用它。
我知道这可以使用守护程序脚本来完成,但我想不这样做。

我创建了一个套接字并将其绑定(bind)到特定端口。

$sock = socket_create (AF_INET, SOCK_STREAM, SOL_TCP);  
socket_set_option ($sock, SOL_SOCKET, SO_REUSEADDR, 1); 
socket_bind ($sock, 'xx.xx.xx.xx', 10000);
socket_connect ($sock, $host, $port);

从另一个 php 文件我做了同样的事情。但是我从 2 文件发送的数据包没有被主机“验证”。我嗅探了所有端口,发现它使用相同的本地和目标端口。我不明白问题出在哪里。

你能帮我解决这个问题吗?
任何其他编程语言或任何其他解决方案都可以。

安德鲁

最佳答案

socket 不是对称的。服务器端监听客户端连接的特定端口 - 客户端不指定本地端口 - 仅指定远程端口和地址。它与您实现它的语言无关。

http://www.phpclasses.org/browse/package/5758.html 上有一个非常好的套接字服务器实现。举例。

C。

关于php - 可重复使用的 socket ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2506694/

相关文章:

javascript - React - 几乎相似组件的重用模式

javascript - Javascript 或 PHP for 循环中是否有 "superbreak"?

Java SocketChannel 吃掉我的字节

Android套接字编程似乎默认使用SSL

python - 您实际上如何在项目中使用可重用的 Django 应用程序?

c++ - 您如何抽象要在屏幕上显示的信息?

phpmyadmin 页面显示源代码,Ubuntu 16.04 安装了 Vagrant 和 Puphpet

javascript - 从 codeigniter Controller 发送电子邮件后无法在 jquery 中获得响应

php - nginx fpm gzip压缩不起作用

c# - socket 推荐