Heim > Backend-Entwicklung > PHP-Tutorial > PHP socket 发到指定的地址,该如何解决

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

WBOY
Freigeben: 2016-06-13 13:28:07
Original
1129 Leute haben es durchsucht

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');

Nach dem Login kopieren


可以在服务端用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 
Nach dem Login kopieren


客户端:
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>
Nach dem Login kopieren
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage