小编Den*_* B.的帖子

更改数据ID onclick

我需要data-matchId在用户单击按钮时更改值.我可以获得点击的价值,但无法将其设置为data-matchId.

HTML部分:

<script id="betradar" type="text/javascript" data-matchId="" src="http://cs.betradar.com/ls/widgets/?/universalsoftwaresolutions/tr/Europe:Istanbul/widgetloader/widgets"></script>
Run Code Online (Sandbox Code Playgroud)

JavaScript部分:

$('.livemenumatch').click(function() { 
        clearInterval(refreshIntervalId);
        var id = $(this).attr('data-id');
        var betradar = $(this).attr('data-betradar');
        localStorage.setItem("lastid", id);
        $.ajax({
            url: '<?php echo site_url('canli'); ?>/' + id,
            type: 'POST',
            data: { 'submit': true },
            success: function(data) {

                $("#matchDetails").html(data);
                $("#betradar").attr('data-matchId' , betradar);
            },
        }); 

        var lastid = localStorage.getItem('lastid', lastid);
        refreshIntervalId = setInterval(function() {
            refreshDiv(lastid)
        }, 3000);  
    });
Run Code Online (Sandbox Code Playgroud)

我知道,给脚本标签赋予id值可能是愚蠢的,但我尝试了几种方法,无法找到任何解决方案.例如; 我试图在成功后返回HTML(请检查JS代码),但它也失败了.

提前致谢.

编辑1:

我尝试了另一种方法来修复它,现在我将我的HTML部分更改为:

<div id="track"></div>
Run Code Online (Sandbox Code Playgroud)

并将JavaScript部分更改为:

var betradar = 'somemanualid';
$("#track").html('<script type="text/javascript" data-matchId="'+ betradar +'" src="http://cs.betradar.com/ls/widgets/?/universalsoftwaresolutions/tr/Europe:Istanbul/widgetloader/widgets">'); …
Run Code Online (Sandbox Code Playgroud)

html javascript jquery

10
推荐指数
1
解决办法
1377
查看次数

异步套接字客户端缓冲区大小

我必须连接具有异步套接字连接的远程服务器并检索数据.我可以连接,但有一个问题.

包裹是按件发送的.我有两个选择; 我可以设置缓冲区并将整个包装整合在一起,或者在完成所有传输后组合碎片.我认为第一个选项(缓冲物)是正确的方法.

我正在定义缓冲区大小,但它在第一部分不起作用.在其他部分,它的工作原理,但使用这种方法,我不能将整个包装整体,因为第一部分限制为5,24 Kb.

你可以在下面找到我的代码:

$loop = React\EventLoop\Factory::create();

        $dnsResolverFactory = new React\Dns\Resolver\Factory();
        $dns = $dnsResolverFactory->createCached('8.8.8.8', $loop);
        $connector = new React\SocketClient\Connector($loop, $dns);
        $connector->create( ENDPOINT_IP , ENDPOINT_PORT )->then(function (React\Stream\Stream $stream) use ($loop) {

            $command = '{C:"EL",bmId:43,inst:"my_instance",tok:"my_token"}';

            $command_length = strlen($command);
            $command_length = pack("N", $command_length);

            $stream->write($command_length);
            $stream->write($command);

            $stream->bufferSize = 999999;
            $stream->on('data', function ($data) {

            $package    =   substr($data, 0, 4);
            $unpack     =   unpack('N', $package); // I'm getting whole package size

            echo $data;



            });


        });

        $loop->run();
Run Code Online (Sandbox Code Playgroud)

我试图$stream->on('data', function ($data) {在行下定义一个缓冲区大小,但你猜它失败了.我不知道如何正确处理它.

提前致谢.

php sockets asynchronous asyncsocket reactphp

7
推荐指数
1
解决办法
532
查看次数

标签 统计

asynchronous ×1

asyncsocket ×1

html ×1

javascript ×1

jquery ×1

php ×1

reactphp ×1

sockets ×1