Heim  >  Artikel  >  Backend-Entwicklung  >  javascript - Treten beim Schreiben von Kommunikationscode mithilfe der PHP-Socket-Funktion Probleme auf? ?

javascript - Treten beim Schreiben von Kommunikationscode mithilfe der PHP-Socket-Funktion Probleme auf? ?

WBOY
WBOYOriginal
2016-09-21 14:12:56885Durchsuche

Der folgende Socket-Code: Der serverseitige PHP-Socket kann Nachrichten vom clientseitigen PHP-Socket empfangen, aber keine Nachrichten an den clientseitigen PHP-Socket senden. Es wird eine Fehlermeldung angezeigt: Weil der Socket nicht verbunden ist und (wann Verwenden eines sendto-Aufrufs zum Senden eines Datagramm-Sockets. Beim Herstellen einer Verbindung wurde keine Adresse angegeben und die Anfrage zum Senden oder Empfangen von Daten wurde nicht akzeptiert. Ich habe einige Informationen im Internet überprüft, aber ich weiß nicht warum. Bitte bitten Sie Gott um Hilfe....

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

Gelöst, die online gefundene Antwort wird veröffentlicht: http://www.cnblogs.com/wolf-s...

Antwortinhalt:

Der folgende Socket-Code: Der serverseitige PHP-Socket kann Nachrichten vom clientseitigen PHP-Socket empfangen, aber keine Nachrichten an den clientseitigen PHP-Socket senden. Es wird eine Fehlermeldung angezeigt: Weil der Socket nicht verbunden ist und (wann Verwenden eines sendto-Aufrufs zum Senden eines Datagramm-Sockets. Beim Herstellen einer Verbindung wurde keine Adresse angegeben und die Anfrage zum Senden oder Empfangen von Daten wurde nicht akzeptiert. Ich habe einige Informationen online überprüft, aber ich weiß nicht warum, bitte bitte Gott um Hilfe....

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

Gelöst, die online gefundene Antwort wird veröffentlicht: http://www.cnblogs.com/wolf-s...

Auf der Serverseite gibt es eine falsche Zeile, sie sollte als

geschrieben werden

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

Dies ist meine Sichtprüfung. Ich weiß nicht, ob es noch andere Probleme gibt.

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