Home >Backend Development >PHP Tutorial >javascript - Problems encountered when writing communication code using php socket function? ?

javascript - Problems encountered when writing communication code using php socket function? ?

WBOY
WBOYOriginal
2016-09-21 14:12:56905browse

The following socket code server-side PHP socket can receive messages from the client-side PHP socket, but cannot send messages to the client-side PHP socket. An error message is reported: Because the socket is not connected and (when using a sendto call to send a datagram socket When) no address is provided, the request to send or receive data is not accepted. I checked some information online, but I don’t know why, please ask God for help....

<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>

Solved, posted the answer found online: http://www.cnblogs.com/wolf-s...

Reply content:

The following socket code server-side PHP socket can receive messages from the client-side PHP socket, but cannot send messages to the client-side PHP socket. An error message is reported: Because the socket is not connected and (when using a sendto call to send a datagram socket When) no address is provided, the request to send or receive data is not accepted. I checked some information on the Internet, but I don’t know why. Please ask God for help....

<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>

Solved, posted the answer found online: http://www.cnblogs.com/wolf-s...

There is a wrong line on the server side, it should be written as

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

This is my visual inspection without debugging. I don’t know if there are any other problems

Statement:
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