我的位置: 首頁 > 學習專區 > PHP技術 > 用PHP開發C/S結構

用PHP開發C/S結構

2013-05-06 08:37:06
來源:
[導讀] 服務器 Server 設置錯誤處理error_reporting (E_ALL); 設置運行時間set_time_limit (0); 起用緩沖ob_implicit_flush ();$ip
服務器

// Server

// 設置錯誤處理

error_reporting (E_ALL);

// 設置運行時間

set_time_limit (0);

// 起用緩沖

ob_implicit_flush ();

$ip = "127.0.0.1"; // IP地址

$port = 1000; // 端口號

$socket = socket_create (AF_INET, SOCK_STREAM, SOL_TCP); // 創建一個SOCKET

if ($socket)

echo "socket_create() successed!\n";

else

echo "socket_create() failed:".socket_strerror ($socket)."\n";

$bind = socket_bind ($socket, $ip, $port); // 綁定一個SOCKET

if ($bind)

echo "socket_bind() successed!\n";

else

echo "socket_bind() failed:".socket_strerror ($bind)."\n";

$listen = socket_listen ($socket); // 間聽SOCKET

if ($listen)

echo "socket_listen() successed!\n";

else

echo "socket_listen() failed:".socket_strerror ($listen)."\n";

while (true)

{

$msg = socket_accept ($socket); // 接受一個SOCKET

if (!$msg)

{

echo "socket_accept() failed:".socket_strerror ($msg)."\n";

break;

}

$welcome = "Welcome to PHP Server!\n";

socket_write ($msg, $welcome, strlen ($welcome));

while (true)

{

$command = strtoupper (trim (socket_read ($msg, 1024)));

if (!$command)

break;

switch ($command)

{

case "HELLO":

$writer = "Hello Everybody!";

break;

case "QUIT":

$writer = "Bye-Bye";

break;

case "HELP":

$writer = "HELLO\tQUIT\tHELP";

break;

default:

$writer = "Error Command!";

}

socket_write ($msg, $writer, strlen ($writer));

if ($command == "QUIT")

break;

}

socket_close ($msg);

}

socket_close ($socket); // 關閉SOCKET

?>

客戶端

// Client

// 設置錯誤處理

error_reporting (E_ALL);

// 設置處理時間

set_time_limit (0);

$ip = "127.0.0.1"; // IP 地址

$port = 1000; // 端口號

$socket = socket_create (AF_INET, SOCK_STREAM, SOL_TCP); // 創建一個SOCKET

if ($socket)

echo "socket_create() successed!\n";

else

echo "socket_create() failed:".socket_strerror ($socket)."\n";

$conn = socket_connect ($socket, $ip, $port); // 建立SOCKET的連接

if ($conn)

echo "Success to connection![".$ip.":".$port."]\n";

else

echo "socket_connect() failed:".socket_strerror ($conn)."\n";

echo socket_read ($socket, 1024);

$stdin = fopen (´php://stdin´, ´r´);

while (true)

{

$command = trim (fgets ($stdin, 1024));

socket_write ($socket, $command, strlen ($command));

$msg = trim (socket_read ($socket, 1024));

echo $msg."\n";

if ($msg == "Bye-Bye")

break;

}

fclose ($stdin);

socket_close ($socket);

?>
深圳北大青鳥嘉華校區

評論
熱點專題
>>
相關文章推薦
>>
好吊妞免费视频在线观看,久久亚洲国产人成综合网,久久精品国产2020,欧美精品综合在线
五月婷婷欧美日韩 | 中文不卡AV在线播放 | 在线日韩欧美国产视频 | 午夜男女爽爽爽在线播放 | 日本中文字幕永久免费 | 一区二区三区四区精品视频在线播放 |