无法远程登录到 php 套接字代码
Posted
技术标签:
【中文标题】无法远程登录到 php 套接字代码【英文标题】:Unable to do telnet to php socket code 【发布时间】:2013-03-27 21:56:59 【问题描述】:我创建了一个 php 程序来监听一个端口。这是 php 代码
<?php
if(!($sock = socket_create(AF_INET, SOCK_DGRAM, 0)))
$errorcode = socket_last_error();
$errormsg = socket_strerror($errorcode);
die("Couldn't create socket: [$errorcode] $errormsg \n");
echo "Socket created \n";
if( !socket_bind($sock, "192.168.0.177" , 5060) )
$errorcode = socket_last_error();
$errormsg = socket_strerror($errorcode);
die("Could not bind socket : [$errorcode] $errormsg \n");
echo "Socket bind OK \n";
while(1)
echo "Waiting for data ... \n";
$r = socket_recvfrom($sock, $buf, 512, 0, $remote_ip, $remote_port);
echo $buf;
?>
但是当我做telnet 192.168.0.177 5060
时,我会收到消息
Could not open connection to the host on port 5060
我检查了 telnet 服务,它运行良好。
【问题讨论】:
telnet 127.0.0.1 5060
工作吗?
那也行不通
你是从创建socket的服务器访问它吗?
我正在从运行 php 代码的同一台服务器上检查它
【参考方案1】:
那是因为你打开了一个 UDP 套接字,而telnet
使用了 TCP。
【讨论】:
@iBlue 你确定要 UDP 而不是 TCP? @iBlue 你可以使用类似netcat 的东西。当然,或者编写您自己的客户端。以上是关于无法远程登录到 php 套接字代码的主要内容,如果未能解决你的问题,请参考以下文章