1.在socket_bind的時候ip地址不能真回環地址如127.0.0.1
蘭西網站制作公司哪家好,找成都創新互聯公司!從網頁設計、網站建設、微信開發、APP開發、響應式網站設計等網站項目制作,到程序開發,運營維護。成都創新互聯公司成立于2013年到現在10年的時間,我們擁有了豐富的建站經驗和運維經驗,來保證我們的工作的順利進行。專注于網站建設就選成都創新互聯公司。
2.server.php后臺跑起來的時候nohup php server.php /var/tmp/a.log 21
一: 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); ?
與設備發送數據的程序編寫人協調,在發送的數據前面添加一個標識設備ID的內容,這樣接收數據后從數據判斷設備號,而不是通過IP和PORT。
例如約定用兩位數表示設備ID,那么設備01發送的數據是AAAAA修改為發送01AAAAA,收到數據后識別01為設備號,后面的AAAAA作為數據。
例子代碼:
?php
$sock?=?socket_create(AF_INET,?SOCK_DGRAM,?SOL_UDP);
$msg?=?"Ping?!";
$len?=?strlen($msg);
socket_sendto($sock,?$msg,?$len,?0,?'127.0.0.1',?1223);
socket_close($sock);
?
查看手冊中相關的函數就知道進一步應該怎么編程。
網站標題:php接收udp數據 php接收post請求接口書寫
當前網址:http://m.kartarina.com/article32/dogehsc.html
成都網站建設公司_創新互聯,為您提供用戶體驗、靜態網站、電子商務、、響應式網站、自適應網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯