Home > Backend Development > PHP Tutorial > PHP socket 发到指定的地址,该如何解决

PHP socket 发到指定的地址,该如何解决

WBOY
Release: 2016-06-13 10:27:05
Original
874 people have browsed it

PHP socket 发到指定的地址
有3个用户通过socket登录到了服务端,通过mysql记录下了三个用户的IP与端口分别为:
A: 192.168.1.100:13564 B:192.168.1.100:13565 C:192.168.1.100:13566

现在我想在客户A发一个指今(包含客户B的端口),服务端接受分析后从数据库取出客户B对应的地址发个TEST字符给B

我在服务端加入如下代码,出现错误,
PHP Warning: socket_connect(): unable to connect [0]: 提供了一个无效的参数。

PHP code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->$conn = socket_connect ($socket, '192.168.1.100', 13565);  $buffer = "ok";$command = socket_sendto($socket,$buffer,strlen($buffer),0,'192.168.1.100','192.168.1.100');
Copy after login


可以在服务端用socket_sendto吗?这个怎么实现啊?


 
服务端:
PHP code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->$addr = "192.168.1.121";$port = 1338;$remoteIP = "";$remotePort = "";$socket = socket_create(AF_INET,SOCK_STREAM,SOL_TCP);if($socket 
Copy after login


客户端:
PHP code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->// Client   // 设置错误处理  error_reporting (E_ALL);  // 设置处理时间  set_time_limit (0);    $ip = "192.168.1.121";       // IP 地址  $port = 1338;            // 端口号    $socket = socket_create (AF_INET, SOCK_STREAM, SOL_TCP);   // 创建一个SOCKET  if ($socket)      echo "socket_create() successed!\n";  else      echo "socket_create() failed:".socket_strerror ($socket)."\n";    $conn = socket_connect ($socket, $ip, $port);       // 建立SOCKET的连接  if ($conn)      echo "Success to connection![".$ip.":".$port."]\n";  else      echo "socket_connect() failed:".socket_strerror ($conn)."\n";    echo socket_read ($socket, 1024);       $stdin = fopen ('php://stdin', 'r');  while (true)  {      $command = trim (fgets ($stdin, 1024));      socket_write ($socket, $command, strlen ($command));      $msg = trim (socket_read ($socket, 1024));      echo $msg."\n";      if ($msg == "Bye-Bye")          break;  }  fclose ($stdin);  socket_close ($socket);<div class="clear">
                 
              
              
        
            </div>
Copy after login
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template