• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    用PHP開發C/S結構

    發布: 2007-7-14 19:53 | 作者: 佚名    | 來源: 網絡轉載     | 查看: 28次 | 進入軟件測試論壇討論

    領測軟件測試網 服務器
    <?php
    // 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 = "HELLO\tQUIT\tHELP";
                    break;
                default:
                    $writer = "Error Command!";
            }
            socket_write ($msg, $writer, strlen ($writer));
            if ($command == "QUIT")
                break;
        }
        socket_close ($msg);
    }

    socket_close ($socket);                   // 關閉SOCKET
    ?>


    客戶端
    <?php
    // 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);
    ?>

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>