国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

聊天服務器測試的問題

chicbo

代碼如下:

$socket_client = stream_socket_client('192.168.31.103:7272', $errno, $errstr);
stream_set_blocking($socket_client, 0);
if (!$socket_client) {
    die("$errstr ($errno)");
} else {
    $package_data = array('a'=> 'b',);
    $package = json_encode($package_data);
    $res = fwrite($socket_client, $package);
    usleep(100000);
    debug(fread($socket_client, 1000000));
        fclose($socket_client);
}

運行結果是:HTTP/1.1 400 Bad Request

請問:和傳的是json有關么,我換了‘a(chǎn)ef’就沒這個問題,但是不知道如何解決,因為需要json格式。

無論發(fā)的是json還是字符串,服務器都會顯示client:192.168.31.103:62155 gateway:127.0.0.1:7272 client_id:7f00000108fc00000025 onClose:'' 代表將client踢掉了。。服務器是你們的聊天服務器,不知道是什么原因,可能因為內容格式的問題么。求大神指點~~~

3893 1 0
1個回答

walkor 打賞

你的服務端7272端口應該是websocket協(xié)議,發(fā)送的數(shù)據(jù)應該以websocket協(xié)議格式發(fā)送,不是隨便發(fā)個數(shù)據(jù)服務端就能識別。

這個問題就像你用stream_socket_client發(fā)起一個socket連接數(shù)據(jù)庫的3306端口,然后隨便發(fā)個數(shù)據(jù),mysql同樣不能識別一樣。服務端無法識別你傳輸?shù)臄?shù)據(jù),自然認為是非法數(shù)據(jù),然后斷開連接。

你要以對方能讀懂的數(shù)據(jù)格式(協(xié)議)發(fā)送才行。

為什么要自己建立socket連websocket端口?websocket協(xié)議比較復雜,不建議手寫代碼模擬websocket協(xié)議去傳輸數(shù)據(jù)。

  • chicbo 2016-01-12

    我想通過模擬websocket來測試并發(fā)量,不知道是否還有別的途徑。

  • walkor 2016-01-12

    百度 websocket壓測

年代過于久遠,無法發(fā)表回答
??