PHP При попытке проверить мой локальный сервер с помощью PHP, локальный сервер никогда не принимает соединение - PullRequest
0 голосов
/ 30 ноября 2011

Я пытаюсь создать простой чат-сервер.

Я использовал html-формы для его проверки.Теперь я хочу посмотреть, действительно ли это работает, создав несколько PHP-скриптов и запустив их одновременно.

Я использую curl для публикации поста.Когда я пытаюсь отправить сообщение на сервер чата, согласие никогда не прекращается.Но если я отправляю свою форму, она видит ее.

код сервера

server = new ServerSocket(1079); // port 62
// Loop forever
while(true)
{
    ///////////////////////////////////////////////////
    // get a new connection
    ///////////////////////////////////////////////////
    System.out.println("Aceepting connections on port 1030 \r");

    try{
        // Get New Connection

        // wait for ever on accepting new connections
        server.setSoTimeout(0);  
        connection = server.accept();

        cConnection thread = new cConnection("thread3", connection);

PHP Script:

extract($_POST);

//set POST variables
$url = 'http://localhost:1079/enter';
$fields = array(
            'username'=>urlencod("tedpottel"),
            'password'=>urlencode("oreo8157"),
            'comment'=>urlencode("new comment"),
        );

//url-ify the data for the POST
foreach($fields as $key => $value) {
    $fields_string .= $key . '=' . $value . '&';
}
rtrim($fields_string,'&');

//open connection
$ch = curl_init();

//set the url, number of POST vars, POST data
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_POST,count($fields));
curl_setopt($ch,CURLOPT_POSTFIELDS,$fields_string);

//execute post
$result = curl_exec($ch);
print $result;
//close connection
curl_close($ch);

HTML Форма

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <title>Untitled Document</title>
    </head>

    <body>
        <form id="form1" name="form1" method="post" action="http://localhost:1079/enter">
            <input name="username" type="text" value="tedpottel" />
            <input name="password" type="text" value="oreo8157" />
            <input name="comment" type="text" value="Hi There" />
            <input type="submit" />
        </form>
    </body>
</html>

1 Ответ

0 голосов
/ 30 ноября 2011

Исходя из расхождений, указанных в предыдущем комментарии, я должен верить, что вы просто скопировали и вставили это (и зачем вам делать что-то еще?).Поэтому в вашем PHP-скрипте есть ошибка:

'username'=>urlencod("tedpottel")

Вы намеревались написать urlencode .Но я не думаю, что это приведет к тому, что server.accept () не ответит.

Я удивлен тем, что вы использовали «immolate», когда вы имели в виду «imatate».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...