无法远程登录到 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 套接字代码的主要内容,如果未能解决你的问题,请参考以下文章

远程登录facebook账户

远程登录我的套接字侦听端口正在关闭套接字

SQL2000无法远程登录

分发系统-expect讲解,expect脚本远程登录,expect脚本远程执行命令,expect脚本

ubuntu无法ssh远程连接

远程桌面登录后如何拷贝文件到本地机器?