• ----:)欢迎访问源码网(:----
    • 首页
    • 博客
    • 学院
    • 下载
    • 论坛
    • 影视
    • 发布源码
    • RSS
    • ITPig
    • 笑话网
    • 百家姓
    • 繁體中文

源码网 - 中国第一源码门户
选择镜像:网通镜像 - 电信主站
  • 首 页
  • 新闻动态
  • 网站运营
  • 网页制作
  • WEB开发
  • 编程开发
  • 图像媒体
  • 操作系统
  • 数据库
  • 服务器
热门搜索 优化 SEO 故事 cms IIS7 MySQL 个人 AdSense 主题推广 | 文章搜索: 高级搜索
会员登录/控制面版您的位置: 学院首页 >> WEB开发 >> PHP 开发 >> PHP代码 >> 详细内容
 

推荐文章

 
 

热点文章

  • 3389远程服务器GHOST的视频教程
  • 利用纯真QQIP数据库做快速IP归属地查询
  • 天气预报小偷,根据IP自动判断地址
  • php在线文本编辑器
  • 实例(Smarty+FCKeditor新闻系统)
  • php里实现汉字转区位码
  • 对dvbbs.php 全文搜索的完全分析
  • php生成会动的gif图片代码
  • php的字符编码转换工具
  • DIV+CSS+PHP巨献——网页内容先竖排再横排
  • PHP获取网卡的MAC地址
  • 56.com视频采集接口程序(PHP)
 
 

相关文章

  • PHP初级程序员面试题及答案
  • PHP使用zlib扩展实现页面GZIP压缩输出
  • 为什么PHP令人不爽(对于大型系统)
  • php中的stdClass
  • php中ADODB类使用
  • php自动post数据--百度贴吧灌水机器人代码实例
  • Linux/FreeBSD下用C语言开发PHP的so扩展模块例解
  • php取不到session的常见原因
  • 使用php的zlib压缩和解压缩swf文件
  • php 做服务器端程序
  • PHP5.2下function和class性能对比
  • PHP用mkdir()新建立目录无写的权限的问题
 
 

百度搜索

 
 

再说flash的socket联机(php的socket后台)

  • 阅览次数:
  • 文章来源: CP整理
  • 原文作者:
  • 整理日期: 2008-08-14
  • 发表评论
  • 字体大小:
  • 小
  • 中
  • 大

刚开始学php的时候就注意上php的socket功能,做服务端实现起来太简单了,可惜对其稳定性一直没有信心,大概测试了一下就放那儿了,整理资料的时候无意翻了出来,而我放出来的用C#做的socket服务端程序很多朋友觉得复杂调试不出来,正好拿出来给需要的朋友试试...


服务器端的代码,基本上是php手册上拷贝过来的,有注释:

程序代码

PHP:  

<?php
error_reporting
(E_ALL);

/* Allow the script to hang around waiting for connections. */
set_time_limit(0);

/* Turn on implicit output flushing so we see what we're getting
* as it comes in. */
ob_implicit_flush();

//服务器ip和端口
$address = '127.0.0.1';
$port = 11915;
//启动服务
if (($sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)) < 0) {
echo
"socket_create() failed: reason: " . socket_strerror($sock) . "\n";
}
//绑定
if (($ret = socket_bind($sock, $address, $port)) < 0) {
echo
"socket_bind() failed: reason: " . socket_strerror($ret) . "\n";
}
//侦听
if (($ret = socket_listen($sock, 5)) < 0) {
echo
"socket_listen() failed: reason: " . socket_strerror($ret) . "\n";
}
echo
"connect................";
//等待连接...
do {
//接受连接
if (($msgsock = socket_accept($sock)) < 0) {
echo
"socket_accept() failed: reason: " . socket_strerror($msgsock) . "\n";
break;
}

$msg = "\nWelcome to the PHP Test Server. \n" .
"To quit, type 'quit'. To shut down the server type 'shutdown'.\n\0";

echo
"some one connected";
//给客户端发欢迎消息
socket_send($msgsock, $msg, strlen($msg),0);

//等待客户端发来的消息
do {
//接受消息
  
socket_recv($msgsock, $buf, 2048, 0);
if (
false === ($buf = socket_read($msgsock, 2048))) {
echo
"socket_read() failed: reason: " . socket_strerror($ret) . "\n";
break
2;
}

//flash端关闭的时候会给服务端发送一个空消息,判断退出
  
if ($buf == '') {
socket_close($msgsock);
   echo
"some one quit";
break;
}
//把客户端发送的消息群发
$talkback = "You said: $buf";
  echo
$talkback;
socket_send($msgsock, $talkback, strlen($talkback),0);
} while (
true);
//关闭客户端
socket_close($msgsock);
} while (
true);
//关闭服务器端
socket_close($sock);
?>

注意,这些代码需要在cli模式下运行(直接使用网页运行会出错,而且会出现端口被专用),进入命令行模式,切换到php目录,输入下面命令:

程序代码
php.exe socket.php



flash端测试代码,完全是测试代码,也可以使用我以前公布的flash端代码,通用的:

程序代码
CODE:  
var socket = new XMLSocket();

socket.onConnect = function (success:Boolean) {
if (success) {
trace ("Connection succeeded!")
} else {
trace ("Connection failed!")
}
}
if (!socket.connect("127.0.0.1", 11915)) {
trace("connectionFailed");
} else {
trace("waitForConnection");
}

socket.onData = function (doc) {
trace("asddddddddddd=="+doc.length)
trace(doc);
}

_root.onEnterFrame = function()
{
if(Key.isDown(Key.END))
{
  
  socket.send("roading..");
  trace("send")
}
if(Key.isDown(40))
{
  socket.close();
}
}

上一篇:PayPal全中文详解
下一篇:PHP初级程序员面试题及答案
  • 网友评论:
  • 查看所有评论
  • 我要发表评论
您的网名:
留言主题:
你要发表的内容:

 

关于本站 | 广告联系 | 版权声明 | 网站地图 | 发布软件 | 帮助中心 | 源码论坛

Copyright © 2005-2007 CodePub.Com  程序支持:木翼  滇ICP备05005971号