javascript - 使用 php socket 函数写通信代码时遇到的问题??

WBOY
Freigeben: 2016-09-21 14:12:56
Original
857 Leute haben es durchsucht

下面socket代码 服务端PHP socket能够接受到来自客户端PHP socket 的消息,但是无法发送消息到客户端 PHP socket,报错:由于套接字没有连接并且(当使用一个 sendto 调用发送数据报套接字时)没有提供地址,发送或接收数据的请求没有被接受。 网上查阅了些资料,不明所以,求大神解救....

<code>服务端 PHP socket:

require_once 'socket_config.php';

$socket = socket_create(AF_INET , SOCK_STREAM , SOL_TCP);

socket_bind($socket , $host , $port);

socket_listen($socket , 3);

$client = socket_accept($socket);

$input = socket_read($client , $read_length , $read_type);

echo '来自客户端 PHP 的消息: ' . $input;

$output = strrev($input);

socket_write($client, $output , strlen($output));

socket_close($client);

socket_close($socket);




客户端 PHP Socket:

require_once 'socket_config.php';

$socket_client = socket_create(AF_INET , SOCK_STREAM , SOL_TCP);

$socket_con = socket_connect($socket_client , $host , $port);

$message = 'hello boy';

// 发送给服务端 socket

socket_write($socket_client , $message , strlen($message))

// 阅读来自服务端的响应
$result = socket_read($socket_client , $read_length , $read_type);

echo '来自服务端 PHP 的消息: ' . $result;

//socket_close($socket_client);

</code>
Nach dem Login kopieren
Nach dem Login kopieren

已解决,贴出解决网上找到的答案哈: http://www.cnblogs.com/wolf-s...

回复内容:

下面socket代码 服务端PHP socket能够接受到来自客户端PHP socket 的消息,但是无法发送消息到客户端 PHP socket,报错:由于套接字没有连接并且(当使用一个 sendto 调用发送数据报套接字时)没有提供地址,发送或接收数据的请求没有被接受。 网上查阅了些资料,不明所以,求大神解救....

<code>服务端 PHP socket:

require_once 'socket_config.php';

$socket = socket_create(AF_INET , SOCK_STREAM , SOL_TCP);

socket_bind($socket , $host , $port);

socket_listen($socket , 3);

$client = socket_accept($socket);

$input = socket_read($client , $read_length , $read_type);

echo '来自客户端 PHP 的消息: ' . $input;

$output = strrev($input);

socket_write($client, $output , strlen($output));

socket_close($client);

socket_close($socket);




客户端 PHP Socket:

require_once 'socket_config.php';

$socket_client = socket_create(AF_INET , SOCK_STREAM , SOL_TCP);

$socket_con = socket_connect($socket_client , $host , $port);

$message = 'hello boy';

// 发送给服务端 socket

socket_write($socket_client , $message , strlen($message))

// 阅读来自服务端的响应
$result = socket_read($socket_client , $read_length , $read_type);

echo '来自服务端 PHP 的消息: ' . $result;

//socket_close($socket_client);

</code>
Nach dem Login kopieren
Nach dem Login kopieren

已解决,贴出解决网上找到的答案哈: http://www.cnblogs.com/wolf-s...

服务端有一行写错了,应写为

socket_write($client, $output , strlen($output));

这是我目测的,没调试,不知道还有没有其它问题

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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!