首页
新闻
UniX技术
数据库
经验交流
PHP
首页
>
PHP
php Socket 基础
时间:2009-04-13 22:05:39 作者:chinaitlab
我要投稿
Linux初探欢迎您的投稿,投放方法请点击
这里
查看,我们会定期赠送精美小礼品给优秀的投稿作者。海纳百川 取则行远!LinuxGoo欢迎您的到来。
◆ Socket 基础PHP使用Berkley的socket库来创建它的连接。socket只不过是一个数据结构。你使用这个socket数据结构去开始一个客户端和服务器之间的会话。这个服务器是......
printf("Closed the socket\r\n\r\n");
}
?>
这个服务器端要做什么呢?它初始化一个socket并且打开一个缓存收发数据。它等待连接,一旦产生一个连接,它将打印“Socket connected”在服务器端的屏幕上。这个服务器检查缓冲区,如果缓冲区里有数据,它将把数据发送到连接过来的计算机。然后它发送这个数据的接受信息,一旦它接受了信息,就把信息保存到数据里,并且让连接的计算机知道这些信息,最后关闭连接。当连接关闭后,服务器又开始处理下一次连接。
◆ 产生一个客户端
处理第二个问题是很容易的。你需要产生一个php页连接一个socket,发送一些数据进它的缓存并处理它。然后你有个处理后的数据在还顿,你能够发送你的数据到服务器。在另外一台客户端连接,它将处理那些数据。
下面的例子示范了使用socket:
<?php
// Create the socket and connect
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
$connection = socket_connect($socket,’localhost’, 1337);
while($buffer = socket_read($socket, 1024, PHP_NORMAL_READ)) {
if($buffer == “NO DATA”) {
echo(“<p>NO DATA</p>”);
break;
}else{
// Do something with the data in the buffer
echo(“<p>Buffer Data: “ . $buffer . “</p>”);
}
}
echo(“<p>Writing to Socket</p>”);
// Write some test data to our socket
if(!socket_write($socket, “SOME DATA\r\n”)){
echo(“<p>Write failed</p>”);
}
// Read any response from the socket
while($buffer = socket_read($socket, 1024, PHP_NORMAL_READ)){
echo(“<p>Data sent was: SOME DATA<br> Response was:” . $buffer . “</p>”);
}
echo(“<p>Done Reading from Socket</p>”);
?>
这个例子的代码演示了客户端连接到服务器。客户端读取数据。如果这是第一时间到达这个循环的首次连接,这个服务器将发送“NO DATA”返回给客户端。如果情况发生了,这个客户端在连接之上。客户端发送它的数据到服务器,数据发送给服务器,客户端等待响应。一旦接受到响应,那么它将把响应写到屏幕上。
5
/
5
首页
上一页
3
4
5
如果您需转载 php Socket 基础,请注明来自LinuxGoo.com,其版权归原作者所有。请广大网友留言时遵纪守法,使用文明用语。如果您在应用中有什么问题,请在下面留言,我们会尽快解答。
来顶一下
返回首页
发表评论
共有
条评论
用户名:
密码:
验证码:
匿名发表
相关文章
处理SQL 2008/08 中的OUTPUT与CHECK约束冲
在SQL Server 2005中,新增的OUTPUT子句极大地提高了数据转移的方便性,不过
MySQL V5.1发现可能导致数据丢失BUG
Sun在上周发布了MySQL数据库软件5.1版,之后他们称包括在新特性在内,该版本
在Fedora Core里启动VMware Workstation二
我们可以修改一些安装问题的缺省答案,下面介绍一些安装时所必须回答的
ISNULL() VS COALESCE()
ISNULL() VS COALESCE() http://code.msdn.microsoft.com/SQLExamples/Wi
使用 m17n 实现Unicode 全世界语言间代码移
为了让 Linux
Linux开发大师No.2Alan Cox转向英特尔
在Linux内核开发方面,Linus Torvalds自然是毫无争议的No.1,而在他之外就是A
初试mySQL连接VFP
一直以来,所有语言中最熟悉应用的是VFP语言,是个独立的开发工具。网络
Linux下根据字符串长度sort命令排序
sort 命令可以按照字母或者数字顺序排列字符串,不过如果我们想根据字符串
Ajax PHP简单入门教程
Ajax 由 HTML、JavaScript 技术、DHTML 和 DOM 组成,这一杰出的方法可以将
Ubuntu系统下安装Virtualbox虚拟XP过程
1.安装virtual box 可以使用新立德搜索virtual box安装,也可以使
Asp.net2.0读取Oracle9i数据时报:Oracle客
这是个恶心的问题,在网上查了很多,大部分都是你抄我的,我抄你的!有的说设置Or
RedHat 5.0配置XEN虚拟机
Xen虚拟机有两种运行方式:完全虚拟化(full virtualization)和半虚拟化(para v
1.1. MySQL逻辑架构
1.1. MySQL逻辑架构心里记着一张MySQL组件关系图对于理解MySQL服务器有很
恢复SQL Server 7数据的方法
SQL(Structured Query Language,结构查询语言)是一个功能强大的数据库语言
新手学堂:VirtualBox虚拟机的安装问题
1 VirtualBox依赖libxalan110和libqt3-mt,所以安装VirtualBox前先安装
Linux下配置OPENVZ虚拟机的过程解析
在Linux 下配置OPENVZ 实例 推荐使用Fedora Core 4/5/3 或者RHEL/CentOS
栏目热门
PHP程序为什么"不适用"大型系统的9大原因
精通PHP的十大要点
屏蔽浏览器缓存另类方法
Windows、Apache、Mysql和Php平台搭建
3种平台下安装php4经验点滴
站内搜索:
Linux
高级搜索
Powered by
Linux初探
© 1999-2009
RSS