你如何在PHP中进行服务器发现?

时间:2014-03-16 07:47:26

标签: php mysql networking network-programming client-server

我们显然正在开发票务系统(等待游戏),显然,客户端模块上需要有服务器发现(3个模块:客户端,职员,服务器)。请帮忙,谢谢!

=============================================== =========================

有关任务的更多详细信息:此系统的目的是创建基于网络的排队/票务系统,类似于客户服务柜台或注册商办公室服务台的排队/票务系统。

该系统由3个模块组成,服务器模块,客户端应用程序模块和文员应用程序模块。

客户端应用程序模块将用于向服务器发出“票证”。启动时,客户端应用程序模块应查找服务器,而无需用户输入任何内容。

找到后,客户端应用程序模块必须确定服务器上次发出的票号,并​​继续从最后一个号码开始发票。

服务器模块将保存故障单的所有记录及其状态。这些记录包括谁是“客户”和处理问题的“职员”。门票的状态可以是“等待”或“完成”。默认情况下,所有故障单的状态均为“等待”。只有职员申请模块可以将故障单的状态更改为“已完成”。

职员申请模块将用于“容纳”来自服务器的故障单。 “职员”用户将能够使用该应用程序将票证从“等待”状态标记为“完成”状态。

在职员申请模块启动后,除了职员的姓名外,不会向用户询问任何输入。

=============================================== =================================

显然,这就是我们迄今为止所做的一切:

client1.php只是要求输入名称

client2.php

            <!--

            client2.php - Adds client name into the database.

            -->

            <html>
                <head>
                    <title>Waiting Game - Client</title>
                </head>

                <body>

                    <?php

                        // Create connection to database "comnets"
                        $con = mysql_connect("localhost","root","");
                        mysql_select_db('comnets');

                        // Check connection
                            /*if (mysqli_connect_errno($con))
                            {
                                echo "Failed to connect to MySQL: " . mysqli_connect_error();
                            }else{ 
                                echo "Successfuly connected to the database.<br><br>";
                            }

                            if (mysqli_connect_errno())
                            {
                                echo "Failed to connect to MySQL: " . mysqli_connect_error();
                            }*/
                        // End connection

                        // Insert client name into the database
                        $client = "INSERT INTO client
                                   VALUES('','" . $_POST['clientname'] . "')";

                        $clientInserted = mysql_query($client) or die ( mysql_error() );    

                        // Obtain the number of the client
                        $LastIssuedTicket = mysql_query("SELECT clientNo FROM client ORDER BY clientNo DESC LIMIT 1"); // Query to get last issued ticket

                        while($row = mysql_fetch_array($LastIssuedTicket))
                        {

                            $NumberClient = $row['clientNo']; // Pass obtained value to $NumberClient

                        }

                        // Insert client name into the status table with default "Waiting" status
                        $client2 = "INSERT INTO status
                                    VALUES('','Waiting','" . $NumberClient . "','1')"; //for status: 0 meaning waiting, 1 meaning finished

                        $client2Inserted = mysql_query($client2) or die ( mysql_error() );  

                        // Close connection
                        mysql_close($con);

                        echo "
                        <form action='home.html' method = 'post'>

                            <b>Ticket issued successfully!</b><br>
                            <input type='submit' value='Home'>

                        </form>";

                    ?>

                </body>
            </html>

server.php

            <?php


                // START -------------------------------------------------------
                ini_set('max_execution_time', 200); //300 seconds = 5 minutes
                $socket = stream_socket_server("127.0.0.1:8008", $errno, $errstr);
                if (!$socket) {
                    echo "ERROR: $errno - $errstr<br />\n";
                } else {
                    while($conn = stream_socket_accept($socket)) {
                    echo "saljflskajf";
                }
                // -------------------------------------------------------- END
            }
            ?>

0 个答案:

没有答案