《PHP sockets程序实例代码》
前面两篇文章我们已经了解到:
常用的php代码实例什么叫sockets
windows下怎样配置PHP sockets编程环境
本文将分享编写一个简单的socket程序的思路。
测试环境:
windows7
wamp(php5.3.8)
一个socket就像一个插头,它提供了两个进程间通信的方式。一般来说,它允许你在任意未被使用的端口进行接收或发送信息。那么怎样使用sockets呢?
socket 服务端的编写:
为了使问题不至于太复杂,这里我们写一个简单的例子,步骤如下:
在指定的IP和端口创建一个socket 使用socket_create()和socket_bind()
socket监听 使用socket_listen()
等待来自客户端的链接 使用socket_accept()
从socket读取数据 使用socket_read()
输出数据后,关闭socket 使用socket_close()
下面是socketserver.php代码:
请查看原文
socket客户端的编写:
在指定的端口创建一个socket 使用socket_create()
使用刚刚创建的socket连接服务端的socket 使用socket_connect()
给服务端发送消息 使用socket_send()
关闭socket 使用socket_close()
socketclient.php代码如下:
请查看原文
在命令行下测试socket程序。如果你还没有在命令行下运行过php程序,请参考windows命令行下运行PHP程序。
以下是本人测试的过程和结果:
运行socketserver.php
C:\Users\henrypoter>N:\wamp\bin\php\php5.3. -f "N:\wamp\www\word\socketserver.php"
server
运行socketclient.php
C:\Users\henrypoter>N:\wamp\bin\php\php5.3. -f "N:\wamp\www\word\socketclient.php
socketserver端的输出结果:
C:\Users\henrypoter>N:\wamp\bin\php\php5.3. -f "N:\wamp\www\word\socketserver.php"
server Connection accepted
Message From Client: This is a message from the client.
在php5.3.8版本下面测试socket_send()函数的第4个参数不能设置为MSG_EOF,MSG_EOR
可能是该版本的一个bug。参考:Missing MSG_EOR and MSG_EOF constants to sockets extension
查看原文《PHP sockets程序实例代码》
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论