zoukankan      html  css  js  c++  java
  • 用PHP开发C/S结构

    服务器

    // 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! ";

    else

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

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

    if ($bind)

    echo "socket_bind() successed! ";

    else

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

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

    if ($listen)

    echo "socket_listen() successed! ";

    else

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

    while (true)

    {

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

    if (!$msg)

    {

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

    break;

    }

    $welcome = "Welcome to PHP Server! ";

    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 = "HELLO QUIT HELP";

    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! ";

    else

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

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

    if ($conn)

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

    else

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

    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." ";

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

    break;

    }

    fclose ($stdin);

    socket_close ($socket);

    ?>

     
  • 相关阅读:
    4_5.springboot2.x之Web开发RestfulCRUD操作
    4_4.springboot之Web开发登录和拦截器
    4_3.springboot2.x之默认访问首页和国际化
    4_2.springboot2.x配置之springmvc自动配置
    4_1.springboot2.xWeb开发使用thymeleaf
    03_springboot2.x日志处理
    08_springboot2.x自定义starter
    JavaScript-----对象属性赋值及获取属性值的方式
    Spring探究-----AOP配置详解
    Spring探究-----自动装配Bean详解
  • 原文地址:https://www.cnblogs.com/rlm0909/p/3412617.html
Copyright © 2011-2022 走看看