【问题标题】:PHP chat client-server comunicationPHP聊天客户端-服务器通信
【发布时间】:2016-02-01 16:20:37
【问题描述】:

我正在制作简单的 php webChat 并使用 MySQL 数据库。我的通信基于 AJAX 请求,当有人发布消息时,它将被保存。

function sendData(){

var textData = $('#chatText').val();
console.log(textData);
$.ajax({
        type:'POST',
        url:'saveMessage.php',
        data: {
                message:textData
        },
        dataType: 'text',
        success: function(data){
                $('#sendInfo').html(data);
        },
        error: function(/*jqXHR, exception"*/ts){
                $('#sendInfo').html("Error send" + ts.responseText);
        }       
});

} 消息由另一个请求从数据库加载,其中设置了一个计时器,每 1 秒向服务器发送一次请求。

    $( document ).ready(function(){
    setInterval(check, 1000);


});

function check(){

    $.ajax({
        type:'GET',
        url:'checkMessages.php',
        dataType:'json',
        success: function(result){
            //$("#messageBox").append(result);

            for(var i in result){
                $("#messageBox").append(result[i].email + ": " + result[i].mesgVal + "<br>");
            }
        },
        error: function(/*jqXHR, exception"*/ts){
                $('#sendInfo').html("Error check " + ts.responseText);
            }   
    });
}

由于从客户端到服务器的请求数量,此方法很糟糕。我一直在寻找更好的解决方案,并找到了 webSockets(WS)。我的问题是我正在使用 webHosking,我只找到了 LOCAL HOST 教程。例如this

所以我想问是否有办法在 webHosting 上使用 WS 制作它,或者有更好/更简单的方法来进行客户端/服务器通信。

【问题讨论】:

标签: javascript php mysql client-server


【解决方案1】:

如果您需要坚持使用 PHP,那么我建议您使用 long polling。这是一种比当前更好、更有效的解决方案。

您可以在 PHP here 中找到一个很好的长轮询示例。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-03
    • 2018-10-04
    • 2015-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-09
    • 1970-01-01
    相关资源
    最近更新 更多