日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php实现socket编程

發布時間:2025/3/21 php 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php实现socket编程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

服務器端:

<?php
error_reporting(E_ALL);
set_time_limit(0);
//ob_implicit_flush();

$address = 'localhost';
$port = 1024;
//創建端口
if( ($sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)) === false) {
?echo "socket_create() failed :reason:" . socket_strerror(socket_last_error()) . "\n";
}

//綁定
if (socket_bind($sock, $address, $port) === false) {
?echo "socket_bind() failed :reason:" . socket_strerror(socket_last_error($sock)) . "\n";
}

//監聽
if (socket_listen($sock, 5) === false) {
?echo "socket_bind() failed :reason:" . socket_strerror(socket_last_error($sock)) . "\n";
}

do {
?//得到一個鏈接
?if (($msgsock = socket_accept($sock)) === false) {
??echo "socket_accepty() failed :reason:".socket_strerror(socket_last_error($sock)) . "\n";
??break;
?}
?//welcome? 發送到客戶端
?$msg = "<font color='red'>server send:welcome</font><br/>";
?socket_write($msgsock, $msg, strlen($msg));
?echo 'read client message\n';
?$buf = socket_read($msgsock, 8192);
?$talkback = "received message:$buf\n";
?echo $talkback;
?if (false === socket_write($msgsock, $talkback, strlen($talkback))) {
??echo "socket_write() failed reason:" . socket_strerror(socket_last_error($sock)) ."\n";
?} else {
??echo 'send success';
?}
?socket_close($msgsock);
} while(true);
//關閉socket
socket_close($sock);
?>

客戶端程序:

<?php
//error_reporting(E_ALL);
echo "<h2>tcp/ip connection </h2>\n";
$service_port = 1024;
$address = 'localhost';

$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === false) {
?echo "socket_create() failed: reason: " . socket_strerror(socket_last_error()) . "\n";
} else {
?echo "OK. \n";
}

echo "Attempting to connect to '$address' on port '$service_port'...";
$result = socket_connect($socket, $address, $service_port);
if($result === false) {
?echo "socket_connect() failed.\nReason: ($result) " . socket_strerror(socket_last_error($socket)) . "\n";
} else {
?echo "OK \n";
}
$in = "HEAD / http/1.1\r\n";
$in .= "HOST: localhost \r\n";
$in .= "Connection: close\r\n\r\n";
$out = "";
echo "sending http head request ...";
socket_write($socket, $in, strlen($in));
echo? "OK\n";

echo "Reading response:\n\n";
while ($out = socket_read($socket, 8192)) {
?echo $out;
}
echo "closeing socket..";
socket_close($socket);
echo "ok .\n\n";


總結

以上是生活随笔為你收集整理的php实现socket编程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。