小编Jun*_*ior的帖子

有没有办法在没有作曲家的情况下安装 Ratchet?

我有一个写得不好的应用程序是 php“意大利面代码”

我需要实现一个网络套接字,我可以在其中使用 PHP 调用 API。

我尝试使用 Node.js,但问题是我需要检查很多东西才能使用 php。

  1. “用户必须登录” 我需要在我的应用程序中检查活动会话。又名“验证用户”。
  2. 在用户通过身份验证后,从我的应用程序中读取用户数据库中的 API 凭据。
  3. 最后,生成一个客户端脚本,它将每 1 秒 ping 一个 API 以检查新消息。

我认为如果我有一个 PHP websocket 设置而不是 node.js 会更容易,其中第 1 步和第 2 步已经由我的 APP 处理,我只是编写一个客户端代码,该代码将与 websocket 通信以检索新消息.

听起来Ratchet是一个很好的方法,但如果我的 APP 没有设置来使用 Composer 或自动加载器,我不确定如何使用 Composer 在我的 APP 中安装它。

当我正在处理一个将我的应用程序转换为 Laravel 5.1 的项目时,我迫切需要实现 websocket 以减少发送到我的服务器的 TCP 连接数量。

如何安装 Ratchet?如果我无法在当前环境中安装它,是否有我可以使用而不是使用 Ratchet 的替代软件包?

php websocket node.js ratchet

5
推荐指数
1
解决办法
2687
查看次数

如何在FireFox的SharedWorker中使EventSource可用?

我正在尝试在SharedWorker中实现服务器发送事件(SSE)。

该实现在Google Chrome浏览器中没有任何问题。但是,它根本无法在FireFox中使用。

当我尝试使其在FireFox中工作时,我在控制台中收到此错误。

error { 
target: SharedWorker,
isTrusted: true,
message: "ReferenceError: EventSource is not defined",
filename: "https://example.com/add-ons/icws/js/worker.js",
lineno: 28,
colno: 0,
currentTarget: SharedWorker,
eventPhase: 2,
bubbles: false,
cancelable: true,
defaultPrevented: false 
}
Run Code Online (Sandbox Code Playgroud)

我如何EventSource在里面使用SharedWorker

这就是我建立连接的方式 SharedWorker

$(window).load(function(){
    //establish connection to the shared worker
    var worker = new SharedWorker("/add-ons/icws/js/worker.js" );

    //listen for a message send from the worker
    worker.port.addEventListener("message",
        function(event) {
            console.log( Math.random() );
            processServerData(event.data);
        }
        , false
    );

    worker.onerror = function(event){
        console.log(event);
    };


    //start the connection …
Run Code Online (Sandbox Code Playgroud)

javascript firefox jquery worker server-sent-events

5
推荐指数
1
解决办法
1136
查看次数

如何在MySQL上正确地将Laravel与SQL Server结合使用?

我正在尝试将Laravel项目的数据库使用SQL Server。我能够将SQL Server与Laravel 5.2连接。但是,当我尝试将数据植入表中时,出现此错误

[Illuminate\Database\QueryException] SQLSTATE[23000]: [Microsoft][SQL Server Native Client 11.0][SQL Server]Cann ot insert explicit value for identity column in table 'surveys' when IDENTITY_INSERT is set to OFF. (SQL: insert into [surveys] ([id], [name]) values (10, 'Some Text'))
Run Code Online (Sandbox Code Playgroud)

注意:我正在尝试提供标识值,这可能是导致问题的原因。

在研究SQL错误时,我了解到我需要执行以下查询。

在播种之前,我需要执行

SET IDENTITY_INSERT surveys ON;
Run Code Online (Sandbox Code Playgroud)

播种后,我需要执行

SET IDENTITY_INSERT surveys OFF;
Run Code Online (Sandbox Code Playgroud)

但是我不确定如何使用Laravel执行这些命令

在没有出现此问题的情况下,如何在为身份列提供值时播种?

更新这是我的播种机

<?php

use Illuminate\Database\Seeder;

class FinalSurveyTS extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {   
        $myTable = 'surveys';

        DB::statement('SET …
Run Code Online (Sandbox Code Playgroud)

php sql-server laravel laravel-5.1

5
推荐指数
2
解决办法
3713
查看次数

从 iframe 内部发布时 Laravel TokenMismatchExpection

我有一个正在运行的页面http://some.example.com/myiframes/default.aspx。这个页面有一个 iframe。iframe 源/包含 Laravel 5.2 基础应用程序。

我的 Laravel 页面 URL“这是 iframe 的来源”是https://laravel.example.com

https://laravel.example.com有一个带有提交按钮的表单。当用户点击它时,他/她会点击同一域上的另一条路线,即https://laravel.example.com/disply/survey

但是每次,我提交表单时都会收到以下异常

TokenMismatchException in VerifyCsrfToken.php line 67:
Run Code Online (Sandbox Code Playgroud)

为了确保我清楚,在页面上http://some.example.com/myiframes/default.aspx我的代码看起来像这样

在我的 laravel 应用程序上,它位于https://laravel.example.com这里是我的表单

    <form method="POST" action="https://laravel.example.com/disply/survey" accept-charset="UTF-8" class="form">
<input name="_token" type="hidden" value="Dk6SN4WzO4brbvdnBO6JZ7e1lBGjmYz8GQJ1lYFo">
<input name="survey_id" type="hidden" value="10">
<input name="call_id" type="hidden" value="667">
<input name="pools" type="hidden">

<input name="alt_id_1" type="hidden" value="250">
<input name="alt_id_2" type="hidden" value="5">
<input name="alt_id_3" type="hidden">
<input name="alt_id_4" type="hidden">
<input name="alt_id_5" type="hidden">
<input name="alt_id_6" type="hidden">
<input name="alt_id_7" type="hidden">
<input name="alt_id_8" type="hidden">
<input …
Run Code Online (Sandbox Code Playgroud)

php laravel laravel-5 laravel-5.1 laravel-5.2

5
推荐指数
1
解决办法
1908
查看次数

在SQL Server中的事务中为SELECT语句放置了什么类型的锁

我相信SELECTSQL Server 中的每个语句都会导致放置共享锁或密钥锁.但它会在交易中放置相同类型的锁吗?共享锁或密钥锁是否允许其他进程读取相同的记录?

例如,我有以下逻辑

Begin Trans
-- select data that is needed for the next 2 statements
SELECT * FROM table1 where id = 1000; -- Assuming this returns 10, 20, 30

insert data that was read from the first query
INSERT INTO table2 (a,b,c) VALUES(10, 20, 30);

-- update table 3 with data found in the first query
UPDATE table3
SET d = 10,
   e = 20,
   f = 30;

COMMIT;
Run Code Online (Sandbox Code Playgroud)

此时我的select语句仍会创建共享锁或密钥锁,还是会升级为独占锁?其他事务是否能够从table1读取记录,还是所有事务都会等到我的事务被提交,然后其他事务才能从中进行选择?

在一个应用程序中它是否因为将select语句移到事务之外而只是将插入/更新保留在一个事务中?

sql sql-server transactions database-deadlocks locks

5
推荐指数
1
解决办法
3983
查看次数

如何使用带有词缀的css bootstrap list-group在列中创建粘性菜单?

我正在尝试使用CSS Bootstrap 词缀list-group菜单创建一个粘性菜单.

除了用户向下滚动时,我设法让大部分工作都能正常工作.

当用户向下滚动时,菜单似乎占据了整个页面.

我试图通过数据属性进行设置

用这样的东西

<div class="container">
    <div class="row">
        <div class="col-md-3" id="leftCol">

            <div data-spy="affix">

                <div class="list-group list-group-root well">
                    <a class="list-group-item" href="#introduction">Introduction</a>
                    <a class="list-group-item" href="#features">Features</a>
                    <a class="list-group-item" href="#dependencies">Dependencies</a>
                </div>

            </div>

        </div>
        <div class="col-md-9" id="mainCol">

            Some long text for the body along with some tables.

        </div>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

但数据属性没有使菜单坚持!它只是保持在顶部.

所以我试着用JS来完成这样的工作

$(function(){

    $('#leftCol').affix({
      offset: {
        top: 100,
        bottom: function () {
          return (this.bottom = $('.footer').outerHeight(true))
        }
      }
    });


});
Run Code Online (Sandbox Code Playgroud)

我创建了jsFiddle来向您展示当前的行为.

如何解决这个问题,affix以便当用户向下滚动菜单时保持相同的形状?

javascript css jquery twitter-bootstrap twitter-bootstrap-3

5
推荐指数
1
解决办法
693
查看次数

使用实体框架,如何在两个模型上添加外键以相互引用

我有一个ASP.NET MVC 5/C#项目.在我的项目中,我有两个模型,RuleMenuItem.MenuItem有一个引用的外键Rule.并且Rule有一个引用的外键MenuItem.

值得一提的是,我的模型在模型名称中有一个前缀.另外,我使用数据库第一种方法.

我希望能够使用所需的规则获取MenuItem,.Include(...)并且我希望能够使用MenuItem获取规则

这是我的模特

[Table("Rules")]
public class PrefixRule
{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public string Id { get; set; }

    [ForeignKey("Item")]
    public int ModuleId { get; set; }
    public string Name { get; set; }

    public virtual PrefixMenuItem Item { get; set; }
}

[Table("MenuItems")]
public class PrefixMenuItem
{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public string Id { get; set; }

    [ForeignKey("RequiredRule")]
    public int? RequiredRuleId { get; set; } …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc entity entity-framework asp.net-mvc-5

5
推荐指数
1
解决办法
596
查看次数

如何使用 bootstrap-multiselect 动态隐藏/显示选项?

我正在使用bootstrap-multiselect为用户提供两个关键菜单上的出色控制器。我的第一个菜单被称为groups和其他被称为queues. 队列中的每个选项都有一个 HTML5 数据属性(即 data-group="X",其中 X 是组值)

当用户从groups菜单中选择一个选项/组时,我想查找并隐藏queues菜单中data-group不等于组菜单中选定组的每个队列/选项。

在确定需要隐藏/显示的队列/项目后,我尝试使用.show().hide()扩展。然后我尝试使用.addClass('hidden').removeClass('hidden')方法,但没有什么对我有用。

如何使用bootstrap-multiselect 动态显示/隐藏项目?

这是我的代码

$(function () {
    var queueGroupIds = $('#QueueGroupIds');
    var queueIds = $('#QueueIds');

    queueGroupIds.multiselect({
        nonSelectedText: 'Select group(s)',
        onChange: function (option, checked, select) {
            var groups = queueGroupIds.find('option:selected');

            if (groups.length == 0) {
                //When none of the groups are selected, show all queues!
                queueIds.find('option').each(function (i, q) {
                    $(q).show();
                }); …
Run Code Online (Sandbox Code Playgroud)

javascript jquery multi-select twitter-bootstrap bootstrap-multiselect

5
推荐指数
1
解决办法
6574
查看次数

如何将内存中的wav文件转换为mp3?

我有一个在 Asp.Net MVC 5 框架之上使用 C# 编写的应用程序。

我的目标是调用第三方服务来下载波形文件。然后我想把这个文件转换成mp3。最后,我想将 mp3 文件返回为 (byte[]),以允许用户直接从内存下载它。

这是我的代码最终的结果,允许用户从内存下载转换后的文件

public ActionResult Download(int? id)
{

    // Download and convert the file
    // the variable "someUri" is generated based on the provided id value
    byte[] filedata = ConvertToMp3(someUri);

    var cd = new System.Net.Mime.ContentDisposition
    {
        FileName = "filename.mp3",
        Inline = true,
    };

    Response.AppendHeader("Content-Disposition", cd.ToString());

    return File(filedata, "audio/mpeg"); 
}
Run Code Online (Sandbox Code Playgroud)

但我对该方法有疑问ConvertToMp3

我正在使用NAudio库来转换文件。到目前为止,这是我的代码

public void ConvertToMp3(Uri uri)
{
    using (var client = new WebClient())
    {
        byte[] file = client.DownloadData(uri); …
Run Code Online (Sandbox Code Playgroud)

c# mp3 file-conversion naudio lamemp3

5
推荐指数
1
解决办法
8540
查看次数

如何使用 JavaScript 等待 onchange 事件中的 Promise 完成?

我需要手动触发change菜单上的事件。但是然后我需要等到change事件完成执行然后我才能执行操作。

这是我试图在代码中执行的操作

$('#menu').change(function(){

  // do some work
  // make multiple AJAX calls....

});

$('#button').click(function(){

   $('#menu').val(5).change(); // once change is completed I want to do some logic here.
});
Run Code Online (Sandbox Code Playgroud)

这是我尝试过的,但似乎没有等待change()事件完成。

$('#button').click(function(){

   $('#menu').val(5).change().promise().done(function(){
      // do some work after the change() event is completed..
   });
});
Run Code Online (Sandbox Code Playgroud)

在更改事件完成之前如何正确执行代码?

更新

我尝试了以下方法,但似乎仍然不起作用

$('#menu').change(function(){

     makeAjaxCalls($(this).val());

});


$('#button').click(function(){

   makeAjaxCalls(5, function(){
      // do some work after the makeAjaxCalls() is completed..
   });
});

function makeAjaxCalls(id, callback) {
    var task = $.Deferred(function(){
         // Make all …
Run Code Online (Sandbox Code Playgroud)

javascript jquery promise

5
推荐指数
1
解决办法
4169
查看次数