PHP在WIN下操作socket

2021-09-26 04:16:14 字數 2636 閱讀 6659

tcp/udp socket除錯工具

php在win下操作socket最好用命令列執行程式,一般可以用於大檔案的上傳

要建立乙個簡單的服務,如果不考慮效能方面的問題,比如併發100 左右的服務,可以簡單的用 socket + pcntl(linux)。來實現

1.php加入環境變數,開啟socket擴充套件

server端

<?php 

//確保在連線客戶端時不會超時

set_time_limit(0);

$ip = '127.0.0.1';

$port = 1935;

/* +-------------------------------

* @socket通訊整個過程

+-------------------------------

* @socket_create

* @socket_bind

* @socket_listen

* @socket_accept

* @socket_read

* @socket_write

* @socket_close

+--------------------------------

*//*---------------- 以下操作都是手冊上的 -------------------*/

沒有反映,對現在服務端的程式已經開始執行,埠已經開始監聽了。

執行netstat -ano | find "1935"可以檢視埠情況,我的是1935埠

埠已經處於listening狀態了。接下來我們只要執行客戶端程式即可連線上。上**

<?php 

error_reporting(e_all);

set_time_limit(0);

echo "\n";

$port = 1935;

$ip = "127.0.0.1";

/* +-------------------------------

* @socket連線整個過程

+-------------------------------

* @socket_create

* @socket_connect

* @socket_write

* @socket_read

* @socket_close

+--------------------------------

*/$socket = socket_create(af_inet, sock_stream, sol_tcp);

if ($socket < 0) else

echo "試圖連線 '$ip' 埠 '$port'...\n";

$result = socket_connect($socket, $ip, $port);

if ($result < 0) else

$in = "ho\r\n";

$in .= "first blood\r\n";

$out = '';

if (!socket_write($socket, $in, strlen($in))) else

while ($out = socket_read($socket, 8192))

echo "關閉socket...\n";

socket_close($socket);

echo "關閉ok\n";

server端常駐後台實現:

用了比較笨的方法,因為怕php常駐後台不靠譜,用crontab保證即使出了錯斷掉也可以重啟(悲劇的是crontab最小顆粒是1分鐘),然後用shell保證不會重複啟動(重複啟動會繫結不了埠報錯)

check.s**件 保證指令碼不會重複啟動

start()

base_path=$(dirname `which $0`)

cd $base_path

start server.php

mongo在linux下操作

1 進入到bin目錄 cd opt mongodb3.4 bin 2 執行mongo管理器 mongo ip port mongo 127.0.0.1 17017 3 選擇資料庫 use yysh 4 鑑權 db.auth user password 5 集合操作 show collentions ...

在CMD下操作SQL SERVER資料庫

mysql可以在控制台下進行操作,利用命令 sql mysql h localhost u root p123456 就可以登陸mysql的控制台。sql server也提供了控制台下的操作功能。在sql server的 binn目錄下,提供了osql.exe與isql.exe這兩個檔案。這兩個程式...

在linux下操作pcap檔案的各種方法整理

editcap 與 mergecap wireshark,是最受歡迎的 gui 嗅探工具,實際上它帶了一套非常有用的命令列工具集。其中包括 editcap 與 mergecap。editcap 是乙個萬能的 pcap 編輯器,它可以過濾並且能以多種方式來分割 pcap 檔案。mergecap 可以將...