搜索
系统检测到您的用户名不符合规范:

thinkphp socket 类

浏览:23263 发布日期:2014年04月17日 分类:系统代码 关键字: tp socket
thinkphp socket类的简单使用
服务端
<?php

//报错级别

error_reporting(E_ALL);

//设置长链接

set_time_limit(0);

//ip

$address = "127.0.0.1";

//端口

$port = 10005;

//创建一个套接字

if( ($sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)) ===false){

echo "创建一个套接字 失败" . "\n";

}

//启动套接字

if(socket_bind($sock, $address,$port)===false){

echo "启动套接字 失败" . socket_strerror(socket_last_error($sock)) . "\n";

}


//监听端口

if(socket_listen($sock,5) === false){

echo "监听端口 失败" . socket_strerror(socket_last_error($sock)) . "\n";

}


do {

//似乎是接收客户端传来的消息

if(($msgsock=socket_accept($sock))===false){

echo "socket_accepty() failed :reason:".socket_strerror(socket_last_error($sock)) . "\n";

break;

}

//echo "读取客户端传来的消息"."\n";

$buf = socket_read($msgsock, 8192);

$talkback = "我已经成功接到客户端的信息了。现在我还回信息给客户端"."\n";

if(false=== socket_write($msgsock, $talkback)){

echo "socket_write() failed reason:" . socket_strerror(socket_last_error($sock)) ."\n";

}else{

echo "return info msg ku fu duan success"."\n";

}

socket_close($msgsock);

}while (true);

socket_close($sock);

?>

客户端
引入Tp的socket类
<?php
require("./Socket.class.php");
$confing = array(
'persistent' => false,
'host' => 'localhost',
'protocol' => 'tcp',
'port' => 10005,
'timeout' => 1800
);
$Socket = new Socket($confing);
if($Socket->connect()){
echo "TP类 创建Socket链接成功!<hr>";
}else{
echo "TP类 创建Socket链接失败!<hr>";
}
$data = "我是客户端,我要发数据给服务端";
$Socket->write($data);
$read = $Socket->read();
//$read 是服务端还回的数据
echo $read."<hr >";
$Socket->disconnect();
?>

附件 socket.zip ( 3.06 KB 下载:1250 次 )

评论() 相关
后面还有条评论,
评论支持使用[code][/code]标签添加代码
您需要登录后才可以评论 登录 | 立即注册
收藏
让一切随风
积分:2546 等级:LV3
热点推荐
(追記) (追記ここまで)
最新更新

我们

合作

网站

信息

ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。

AltStyle によって変換されたページ (->オリジナル) /