PHP SOCKET编程!
SERVER.PHP
代码
<p class="sycode"> <? php // 确保在连接客户端时不会超时 set_time_limit ( 0 ); // 设置IP和端口号 $address = 服务器自己的IP; $port = 端口号; // 创建一个SOCKET if (( $sock = socket_create(AF_INET , SOCK_STREAM , SOL_TCP)) < 0 ){ echo " socket_create() 失败的原因是: " . socket_strerror( $sock ) . " <br> " ;} // 绑定到socket端口 if (( $ret = socket_bind( $sock , $address , $port )) < 0 ){ echo " socket_bind() 失败的原因是: " . socket_strerror( $ret ) . " <br> " ;} // 开始监听 if (( $ret = socket_listen( $sock , 4 )) < 0 ){ echo " socket_listen() 失败的原因是: " . socket_strerror( $ret ) . " <br> " ;} do { if (( $msgsock = socket_accept( $sock )) < 0 ) { echo " socket_accept() failed: reason: " . socket_strerror( $msgsock ) . " \n " ; break ; } // 发到客户端 $msg = " <font color=red>服务器端发送:欢迎进入服务器!</font><br> " ; socket_write( $msgsock , $msg , strlen ( $msg )); echo " 读取客户端发来的信息<br> " ; $buf = socket_read( $msgsock , 8192 ); $talkback = " 收到的信息 $buf <br> " ; echo $talkback ; if (socket_write( $msgsock , $talkback , strlen ( $talkback )) < 0 ) { echo " socket_write() failed: reason: " . socket_strerror( $msgsock ) . " \n " ; } else { echo " 发送成功 " ; } echo $buf ; socket_close( $msgsock ); } while ( true ); socket_close( $sock ); ?> </p>
登录后复制
CLIENT.PHP
代码
<p class="sycode"> <? php error_reporting ( E_ALL ); set_time_limit ( 0 ); echo " <h2 id="TCP-IP-Connection">TCP/IP Connection</h2>\n " ; $service_port = 服务器端口; $address = " 服务器IP " ; $socket = socket_create(AF_INET , SOCK_STREAM , SOL_TCP); if ( $socket < 0 ){ echo " socket_create() failed: reason: " . socket_strerror( $socket ) . " \n " ;} else { echo " OK.\n " ;} echo " 试图连接 ' $address ' 端口 ' $service_port '...<br> " ; $result = socket_connect( $socket , $address , $service_port ); if ( $result < 0 ) { echo " socket_connect() failed.\nReason: ( $result ) " . socket_strerror( $result ) . " \n " ; } else { echo " 连接OK<br> " ; } $in = " 发送到服务器的信息\r\n " ; $in .= " 也是发到服务器的\r\n " ; $out = '' ; $out1 = '' ; if ( ! socket_write( $socket , $in , strlen ( $in ))) { echo " socket_write() failed: reason: " . socket_strerror( $socket ) . " \n " ; } else { echo " 发送到服务器信息成功!<br> " ; } while ( $out = socket_read( $socket , 8192 )) { echo " 接收服务器回传信息成功!<br> " ; echo $out ; } echo " 关闭SOCKET...<br> " ; socket_close( $socket ); echo " 关闭OK<br> " ; ?> </p>
登录后复制
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
刺客信条阴影:贝壳谜语解决方案
2 周前
By DDD
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
4 周前
By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

Laravel使用其直观的闪存方法简化了处理临时会话数据。这非常适合在您的应用程序中显示简短的消息,警报或通知。 默认情况下,数据仅针对后续请求: $请求 -

PHP客户端URL(curl)扩展是开发人员的强大工具,可以与远程服务器和REST API无缝交互。通过利用Libcurl(备受尊敬的多协议文件传输库),PHP curl促进了有效的执行

Laravel 提供简洁的 HTTP 响应模拟语法,简化了 HTTP 交互测试。这种方法显着减少了代码冗余,同时使您的测试模拟更直观。 基本实现提供了多种响应类型快捷方式: use Illuminate\Support\Facades\Http; Http::fake([ 'google.com' => 'Hello World', 'github.com' => ['foo' => 'bar'], 'forge.laravel.com' =>

您是否想为客户最紧迫的问题提供实时的即时解决方案? 实时聊天使您可以与客户进行实时对话,并立即解决他们的问题。它允许您为您的自定义提供更快的服务

文章讨论了PHP 5.3中引入的PHP中的晚期静态结合(LSB),从而允许静态方法的运行时分辨率调用以获得更灵活的继承。 LSB的实用应用和潜在的触摸
