【问题标题】:determining ip and port in connection between two client - php确定两个客户端之间连接的 ip 和端口 - php
【发布时间】:2014-12-22 07:58:57
【问题描述】:

1- 当我们使用 stream_socket_client() 从客户端 A 连接到 B 时。我们指定 B 的端口并连接到它,A 的端口是随机的。我们也可以指定A的端口吗??

2-我使用此代码来接受传入的连接gs:

$a = stream_socket_server('tcp://localhost:9056');
$b = stream_socket_accept($a);
$c = fread($b,1000);

现在如何检测传入连接的ip和端口??

【问题讨论】:

    标签: php sockets ip port


    【解决方案1】:
    1. 是的,你可以。

      $opts = array( 'socket' => array( 'bindto' => '0:7000', ), );

      $context = stream_context_create($opts);

      $fp = stream_socket_client("tcp://localhost:9056", $errno, $errstr, 30, STREAM_CLIENT_CONNECT, $context );

    2. 您可以使用 stream_socket_get_name 函数获取客户端套接字信息。 $a = stream_socket_server('tcp://localhost:9056'); $b = stream_socket_accept($a); $addr = stream_socket_get_name($b,true); $c = fread($b,1000);

    【讨论】:

    • in 0:7000 起始端口是 7000 但什么是 0 ??
    • 那是IP地址。如果您的服务器上有多个网络接口,您可以在此处指定要将套接字绑定到哪一个。
    猜你喜欢
    • 2014-05-24
    • 1970-01-01
    • 2023-04-10
    • 1970-01-01
    • 2012-02-25
    • 1970-01-01
    • 1970-01-01
    • 2016-02-16
    • 1970-01-01
    相关资源
    最近更新 更多