• 技术文章 >后端开发 >php教程

    用PHP开发C/S结构_PHP教程

    2016-07-15 13:22:17原创364
    服务器

    // Server

    // 设置错误处理

    error_reporting (E_ALL);

    // 设置运行时间

    set_time_limit (0);

    // 起用缓冲

    ob_implicit_flush ();

    $ip = "127.0.0.1"; // IP地址

    $port = 1000; // 端口号

    $socket = socket_create (AF_INET, SOCK_STREAM, SOL_TCP); // 创建一个SOCKET

    if ($socket)

    echo "socket_create() successed!n";

    else

    echo "socket_create() failed:".socket_strerror ($socket)."n";

    $bind = socket_bind ($socket, $ip, $port); // 绑定一个SOCKET

    if ($bind)

    echo "socket_bind() successed!n";

    else

    echo "socket_bind() failed:".socket_strerror ($bind)."n";

    $listen = socket_listen ($socket); // 间听SOCKET

    if ($listen)

    echo "socket_listen() successed!n";

    else

    echo "socket_listen() failed:".socket_strerror ($listen)."n";

    while (true)

    {

    $msg = socket_accept ($socket); // 接受一个SOCKET

    if (!$msg)

    {

    echo "socket_accept() failed:".socket_strerror ($msg)."n";

    break;

    }

    $welcome = "Welcome to PHP Server!n";

    socket_write ($msg, $welcome, strlen ($welcome));

    while (true)

    {

    $command = strtoupper (trim (socket_read ($msg, 1024)));

    if (!$command)

    break;

    switch ($command)

    {

    case "HELLO":

    $writer = "Hello Everybody!";

    break;

    case "QUIT":

    $writer = "Bye-Bye";

    break;

    case "HELP":

    $writer = "HELLOtQUITtHELP";

    break;

    default:

    $writer = "Error Command!";

    }

    socket_write ($msg, $writer, strlen ($writer));

    if ($command == "QUIT")

    break;

    }

    socket_close ($msg);

    }

    socket_close ($socket); // 关闭SOCKET

    ?>

    客户端

    // Client

    // 设置错误处理

    error_reporting (E_ALL);

    // 设置处理时间

    set_time_limit (0);

    $ip = "127.0.0.1"; // IP 地址

    $port = 1000; // 端口号

    $socket = socket_create (AF_INET, SOCK_STREAM, SOL_TCP); // 创建一个SOCKET

    if ($socket)

    echo "socket_create() successed!n";

    else

    echo "socket_create() failed:".socket_strerror ($socket)."n";

    $conn = socket_connect ($socket, $ip, $port); // 建立SOCKET的连接

    if ($conn)

    echo "Success to connection![".$ip.":".$port."]n";

    else

    echo "socket_connect() failed:".socket_strerror ($conn)."n";

    echo socket_read ($socket, 1024);

    $stdin = fopen (´php://stdin´, ´r´);

    while (true)

    {

    $command = trim (fgets ($stdin, 1024));

    socket_write ($socket, $command, strlen ($command));

    $msg = trim (socket_read ($socket, 1024));

    echo $msg."n";

    if ($msg == "Bye-Bye")

    break;

    }

    fclose ($stdin);

    socket_close ($socket);

    ?>


    www.bkjia.comtruehttp://www.bkjia.com/PHPjc/446990.htmlTechArticle服务器 ?php // Server // 设置错误处理 error_reporting (E_ALL); // 设置运行时间 set_time_limit (0); // 起用缓冲 ob_implicit_flush (); $ip = "127.0.0.1"; // IP地址...

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐: PHP 开发 结构 服务器 php Server 设置 错误 处理 error reporting ALL 运行
    上一篇:PHP XML转数组函数_PHP教程 下一篇:php正则连接中文本程序_PHP教程
    PHP编程就业班

    相关文章推荐

    • PHP高并发实例详解之解决商品库存超卖问题• 文件下传的若干有关问题• 请教各位测试这段代码的结果是什么• php 数据能够获取 但没法写入数据库 同一文件另一个表可能写入• 四十分求ThinkPHP循环嵌套打印出父类与子类的列表

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网