欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-04-08 20:51:59
...
下面socket代码 服务端PHP socket能够接受到来自客户端PHP socket 的消息,但是无法发送消息到客户端 PHP socket,报错:由于套接字没有连接并且(当使用一个 sendto 调用发送数据报套接字时)没有提供地址,发送或接收数据的请求没有被接受。 网上查阅了些资料,不明所以,求大神解救....
服务端 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);

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

回复内容:

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

服务端 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);

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

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

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

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

相关标签: php javascript