国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

php簡單socket服務器客戶端代碼實例

2024-05-04 23:35:22
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了php簡單socket服務器客戶端代碼實例,本文給出了兩個版本的服務器端口,對代碼的問題和改進做了說明,并給出了使用這個socket服務器的客戶端代碼,需要的朋友可以參考下
 

本篇文章分享一個簡單的socket示例,用php。實現一個接收輸入字符串,處理并返回這個字符串到客戶端的TCP服務。

產生一個 socket 服務端
 

  1. <?php 
  2. /*文件名:socket_server.php*/ 
  3. // 設置一些基本的變量 
  4. $host="127.0.0.1";//Socket運行的服務器的IP地址 
  5. $port=1234;//Socket運行的服務器的端口,端口取值為1到65535之間的數字,前提是這個端口未被使用 
  6. // 設置超時時間,這里設置為永不超時,確保PHP在等待客戶端連接時不會超時。 
  7. set_time_limit(0); 
  8. // 創建一個Socket,返回一個Socket句柄 
  9. $socket=socket_create(AF_INET,SOCK_STREAM,0) or die("Could not create socket/n"); 
  10. //綁定Socket到指定的地址和端口 
  11. $result=socket_bind($socket,$host,$portor die("Could not bind to socket/n"); 
  12. // 開始監聽外部連接 
  13. $result=socket_listen($socket,3) or die("Could not set up socket listener/n"); 
  14. /******到這里,服務器除了等待來自客戶端的連接請求外基本上什么也不做******/ 
  15. // 另一個Socket來處理服務端與客戶端的通信 
  16. $spawn=socket_accept($socketor die("Could not accept incoming connection/n"); 
  17. // 讀取客戶端的輸入,當一個連接被建立后,服務器就會等待客戶端發送一些輸入信息,這些信息可以由socket_read()函數來獲得,并把它賦值給PHP的$input變量 
  18. $input=socket_read($spawn,1024) or die("Could not read input/n"); 
  19. //socker_read的第二個參數用以指定讀入的字節數,你可以通過它來限制從客戶端獲取數據的大小 
  20. // 下面這不就不解釋了,不知道的自己面壁去 
  21. $input=trim($input); 
  22. //處理客戶端輸入并返回結果,當客戶端發來數據信息后,信息輸出就要靠socket_write()函數來完成 
  23. $output=strrev($input) ."/n";//反轉字符串,這里僅僅是為了更好的區分兩條信息 
  24. socket_write($spawn,$output,strlen($output)) or die("Could not write output/n"); 
  25. // 關閉sockets 
  26. socket_close($spawn); 
  27. socket_close($socket); 
?
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 商洛市| 河间市| 崇义县| 双流县| 年辖:市辖区| 邵武市| 山阴县| 长治市| 团风县| 滨州市| 隆子县| 汉寿县| 长春市| 斗六市| 威远县| 湖州市| 高平市| 潢川县| 衡东县| 嘉定区| 南投市| 茌平县| 远安县| 民勤县| 时尚| 湘乡市| 井研县| 奉节县| 察隅县| 蒙山县| 巢湖市| 宝山区| 尼勒克县| 双柏县| 瑞昌市| 顺义区| 定兴县| 武平县| 清水河县| 桑植县| 琼中|