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);

    ?>

     
  • 相关阅读:
    在远程桌面连接时,怎样在两台计算机之间互传文件
    vbs脚本总结
    nginx for linux安装及安装错误解决
    H5调用PC端摄像头上传图片
    Rollup开发环境的搭建(vue)
    带你来写瀑布流布局
    微信小程序携带参数跳转页面出现Unexpected end of JSON input;at "xxx" page lifeCycleMethod onLoad...
    微信小程序 解析html格式内容在小程序上页面显示出来
    vue中ueditor使用和上传图片和遇到的坑
    markdown的使用
  • 原文地址:https://www.cnblogs.com/rlm0909/p/3412617.html
Copyright © 2011-2022 走看看