導航:首頁 > 編程語言 > phptcp包

phptcp包

發布時間:2022-08-10 05:37:10

A. php SOCKET,

也許這與PHP無關,TCP/IP協議本就有包大小的限制

B. php編程語言可以解析tcp數據包(包括標志位,序列號,窗口長度)嗎

TCP協議頭最少20個位元組,包括以下的區域
TCP源埠(Source Port):16位的源埠其中包含初始化通信的埠。源埠和源IP地址的作用是
標示報問的返回地址。
TCP目的埠(Destination port):16位的目的埠域定義傳輸的目的。這個埠指明報文接收計算
機上的應用程序地址介面。
TCP序列號(序列碼,Sequence Number):32位
TCP應答號(Acknowledgment Number):32位的序列號由接收端計算機使用,重組分段的報文成最初形式。,如果設置了ACK控制位,這個值表示一個准備接收的包的序列碼。

C. 怎樣使用php實現tcp/udp通訊

1.在socket_bind的時候ip地址不能真回環地址如127.0.0.1
2.server.php後台跑起來的時候nohup php server.php > /var/tmp/a.log 2>&1 &
一: udp 方式
1) server.php
<?php //error_reporting( E_ALL ); set_time_limit( 0 ); ob_implicit_flush(); $socket = socket_create( AF_INET, SOCK_DGRAM, SOL_UDP ); if ( $socket === false ) { echo "socket_create() failed:reason:" . socket_strerror( socket_last_error() ) . "\n"; } $ok = socket_bind( $socket, '202.85.218.133', 11109 ); if ( $ok === false ) { echo "socket_bind() failed:reason:" . socket_strerror( socket_last_error( $socket ) ); } while ( true ) { $from = ""; $port = 0; socket_recvfrom( $socket, $buf,1024, 0, $from, $port ); echo $buf; usleep( 1000 ); } ?>
2) client.php
<?php $sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP); $msg = 'hello'; $len = strlen($msg); socket_sendto($sock, $msg, $len, 0, '202.85.218.133', 11109); socket_close($sock); ?>
二: TCP 方式
1)server.php
<?php //error_reporting( E_ALL ); set_time_limit( 0 ); ob_implicit_flush(); $socket = socket_create( AF_INET, SOCK_STREAM, SOL_TCP ); socket_bind( $socket, '192.168.2.143', 11109 ); socket_listen($socket); $acpt=socket_accept($socket); echo "Acpt!\n"; while ( $acpt ) { $words=fgets(STDIN); socket_write($acpt,$words); $hear=socket_read($acpt,1024); echo $hear; if("bye\r\n"==$hear){ socket_shutdown($acpt); break; } usleep( 1000 ); } socket_close($socket) ?>
2) client.php
<?php $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); $con=socket_connect($socket,'192.168.2.143',11109); if(!$con){socket_close($socket);exit;} echo "Link\n"; while($con){ $hear=socket_read($socket,1024); echo $hear; $words=fgets(STDIN); socket_write($socket,$words); if($words=="bye\r\n"){break;} } socket_shutdown($socket); socket_close($sock); ?>

D. php中進行tcp連接,發指令

你需要先在命令行裡面 telnet 192.168.0.104 23 看看有沒有反應

E. php tcp socket用區分包頭,長度,內容嗎。

$info["path"] = '/index.html';
$info["host"] = '127.0.0.1';
$info["port"]=80;
$data_string= "name=peter";

這個是發送請求,重新定義了http頭部,具體信息在函數里修改就可以了。

echo url_post($info, $data_string);

function url_post($info, $data_string){
$request = '';
$request.="POST ".$info["path"]." HTTP/1.1\n";
$request.="Host: ".$info["host"]."\n";
//$request.="Referer: $referrer\n";
//$request.="Content-type: application/x-www-form-urlencoded\n";
$request.="Content-length: ".strlen($data_string)."\n";
$request.="Connection: close\n";
$request.="\n";
$request.=$data_string."\n";

//echo $request;

$fp = fsockopen($info["host"],$info["port"]);
fputs($fp, $request);
$result = '';
while(!feof($fp)) {
$result .= fgets($fp, 128);
}
fclose($fp);

return $result;
}

F. php 如何解析通過tcp協議發過來的數據

//創建socket監聽埠
$socket = socket_create_listen("55555");
//連接失敗給出錯誤信息
if(!$socket){
exit("Failed to create socket!\n");
}
while(true){
$client = socket_accept($socket); //接受一個Socket連接!

G. php socket怎麼連續接收多個tcp包

一個tcp包只有1.4k左右(有說新版協議中可達64k),socket本身就是對tcp包連續操作了
底層協議不需要考慮,況且在php層面你也觸碰不到

H. php中的tcp/ip連接

8192表示每次最多讀取8192個位元組的數據。

代碼的思路是沒問題的,細節的話沒有測試,不過你將服務端和客戶端都放在一個頁面里,不太合適。
至少你應該編寫兩個頁面分別來跑 socket_create 和 socket_connect

I. php有tcp網路協議方面的庫嗎

有的。http://pecl.php.net/package/tcpwrap.
<?php
if (!tcpwrap_check('php', $_SERVER['REMOTE_ADDR'])) { die('You are not welcome here');}?>

J. php 怎麼解析通過tcp協議發過來的數據

//創建socket監聽埠
$socket = socket_create_listen("55555");
//連接失敗給出錯誤信息
if(!$socket){
exit("Failed to create socket!\n");
}
while(true){
$client = socket_accept($socket); //接受一個Socket連接

閱讀全文

與phptcp包相關的資料

熱點內容
海邊散步放鬆解壓一下 瀏覽:21
空調有不帶壓縮機的嗎 瀏覽:61
java職業規劃面試 瀏覽:985
pdf填色 瀏覽:145
ie運行java 瀏覽:637
單相空調壓縮機的構造 瀏覽:136
迅雷app的回收站在哪裡啊 瀏覽:595
加密技術的特點包括4點 瀏覽:561
pcre源碼包 瀏覽:67
崑山ug數控編程培訓 瀏覽:520
integer類源碼 瀏覽:819
java排序的時間復雜度 瀏覽:859
伺服器陣列卡壞了怎麼維修 瀏覽:537
shm演算法 瀏覽:520
可愛的程序員陸漓離開 瀏覽:608
如何把掃描文件做成pdf格式 瀏覽:626
php個性qq源碼 瀏覽:821
初學c語言顯示源未編譯 瀏覽:247
資產概況源碼 瀏覽:472
dos命令建文件夾命令 瀏覽:381