<?php
set_time_limit(0);
function getError() {
return socket_strerror(socket_last_error());
}
$address = "127.0.0.1";
$port = 2046;
$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if (!$sock) {
die("socket_create() 失败的原因是:" . getError() . "/n");
}
if (!socket_set_block($sock)) {
die("socket_set_block() 失败的原因是:" . getError() . "/n");
}
if (!$result = socket_bind($sock, $address, $port)) {
die("socket_bind() 失败的原因是:" . getError() . "/n");
}
if (!$result = socket_listen($sock, 4)) {
die("socket_listen() 失败的原因是:" . getError() . "/n");
}
echo "OK\nBinding the socket on $address:$port ... ";
echo "OK\nNow ready to accept connections.\nListening on the socket ... \n";
do {
if (!$msgsock = socket_accept($sock)) {
die("socket_accept() failed: reason: " . getError() . "/n");
}
echo "Read client data \n";
$buf = socket_read($msgsock, 8192);
echo "Received msg: $buf \n";
$msg = "welcome \n";
if (!socket_write($msgsock, $msg, strlen($msg))) {
die("socket_write() failed: reason: " . getError() ."/n");
}
socket_close($msgsock);
} while (true);
socket_close($sock);
<?php
set_time_limit(0);
$host = "127.0.0.1";
$port = 2046;
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)or die("Could not create socket\n");
if (!socket_connect($socket, $host, $port)) {
die("Could not connet server\n");
}
socket_write($socket, "hello socket") or die("Write failed\n");
while ($buff = @socket_read($socket, 1024, PHP_NORMAL_READ)) {
echo("Response was:" . $buff . "\n");
}
socket_close($socket);