PHP做埠監聽

2021-03-31 08:56:57 字數 2101 閱讀 1201

伺服器

<?php

// server

// 設定錯誤處理

error_reporting (e_all);

// 設定執行時間

set_time_limit (0);

// 起用緩衝

ob_implicit_flush ();

$ip = "127.0.0.1";        // ip位址

$port = 1000;             // 埠號

$socket = socket_create (af_i***, 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)

$wel***e = "wel***e to php server!/n";

socket_write ($msg, $wel***e, strlen ($wel***e));

while (true)

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

if ($***mand == "quit")

break;

}socket_close ($msg);

}socket_close ($socket);                   // 關閉socket

?>

客戶端<?php

// client

// 設定錯誤處理

error_reporting (e_all);

// 設定處理時間

set_time_limit (0);

$ip = "127.0.0.1";       // ip 位址

$port = 1000;            // 埠號

$socket = socket_create (af_i***, 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)

fclose ($stdin);

socket_close ($socket);

?>

python同時監聽多個埠 監聽多個埠

我在玩twisted,建立了乙個簡單的 伺服器 我想讓伺服器監聽多個埠 1025 65535 而不是單個埠。我該怎麼做?在 我的 from twisted.internet.protocol import protocol,serve ctory from twisted.internet impo...

多埠 監聽 處理

1 2 01 tcp是面向連線的協議,就象打 而udp是無連線的協議,就象郵寄信件。tcp是可靠的,它需要確認,而udp是不可靠的,因為它不需要確認。所以一般情況下重要資料的傳輸都用tcp,不太重要的,丟失後不會造成太大影響的資料都用udp來傳輸。與tcp相比,udp幀的長度要小的多。02 tcp ...

Linux 之埠監聽

主要用到的命令 netstat,nmap 兩者的區別如下 l netstat 在本機上面以自己的程式監測自己的 port l nmap 透過網路的偵測軟體輔助,可偵測非本機上的其他網路主機。1 netstat的常規用法 1.1 列出正在監聽的網路埠 root www netstat tunl cti...