php5代码:
<?php
error_reporting(E_ALL);
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() 失败: 原因: " . socket_strerror($sock) . "\n";
}
//绑定
if (($ret = socket_bind($sock, $address, $port)) < 0) {
echo "socket_bind() 失败: 原因: " . socket_strerror($ret) . "\n";
}
//侦听
if (($ret = socket_listen($sock, 5)) < 0) {
echo "socket_listen() 失败: 原因:: " . socket_strerror($ret) . "\n";
}
echo "连接................";
//等待连接...
do {
  //接受连接
  if (($msgsock = socket_accept($sock)) < 0) {
  echo "socket_accept() 失败: 原因: " . socket_strerror($msgsock) . "\n";
  break;
  }

  $msg = "\n欢迎使用PHP Test服务器. \n" .
  "输入 'quit'可退出. 关闭服务器可以输入 'shutdown'.\n\0";

  echo "某某人已连接";

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

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

    //flash端关闭的时候会给服务端发送一个空消息,判断退出
    if ($buf == '') {
      socket_close($msgsock);
      echo "某某人退出";
      break;
    }
    //把客户端发送的消息群发
    $talkback = "你说了: $buf";
    echo $talkback;
    socket_send($msgsock, $talkback, strlen($talkback),0);
  } while (true);

  //关闭客户端
  socket_close($msgsock);
} while (true);

//关闭服务器端
socket_close($sock);
?>


Flash As2.0代码:

System.useCodepage=true;//使用代码页,中文就是cp936

var socket = new XMLSocket();

socket.onConnect = function (success:Boolean) {
  if (success) {
    trace ("连接成功!")
  } else {
    trace ("连接失败!")
  }
}
if (!socket.connect("127.0.0.1", 11915)) {
  trace("连接失败.");
}else {
  trace("等待连接");
}

//来自服务端的数据
socket.onData = function (doc) {
  trace("数据长度=="+doc.length)
  trace(doc);
}

//处理帧频事件
_root.onEnterFrame = function()
{
  if(Key.isDown(Key.END))
  {
     socket.send(Math.random());
     //trace("发送")
  }
  if(Key.isDown(40))
  {
     socket.close();
  }
}

结果:

原文: