问题列表 - 第48443页

使用Ruby Sinatra的HTML5 Server-Sent事件

我是Ruby和Sinatra的新手,我正在尝试用它设置一个简单的HTML5 Server-Sent事件,下面的代码在Chrome开发人员版本中运行良好,但在Windows 7和OSX上的Non Developer Builds和Safari都失败了.

浏览器控制台中的错误消息是"无法加载资源:已取消"

 var source = new EventSource('pull');
        source.addEventListener('message', function(e) {
            console.log(e.data);

        }, false);

        source.addEventListener('open', function(e) {
            // Conn open
        }, false);

        source.addEventListener('error', function(e) {
            if (e.eventPhase == EventSource.CLOSED) {
                // Connection was closed.
            }
        }, false);
Run Code Online (Sandbox Code Playgroud)

以下Sinatra路线

get '/pull' do
   content_type 'text/event-stream'
   newevent   = false
   response = "data: "+newevent.inspect+" \n\n"
end
Run Code Online (Sandbox Code Playgroud)

我已经尝试过使用JSP和Tomcat的类似服务器端代码,它在所有浏览器上都能正常工作.

关于Sinatra,我需要了解什么?谢谢!

ruby html5 sinatra server-sent-events

17
推荐指数
1
解决办法
7616
查看次数

递归ftp下载,然后提取gz文件

我有一个多步文件下载过程,我想在R中做.我有中间步骤,但不是第一个和第三个......

# STEP 1 Recursively find all the files at an ftp site 
# ftp://prism.oregonstate.edu//pub/prism/pacisl/grids
all_paths <- #### a recursive listing of the ftp path contents??? ####

# STEP 2 Choose all the ones whose filename starts with "hi"
all_files <- sapply(sapply(strsplit(all_paths, "/"), rev), "[", 1)
hawaii_log <- substr(all_files, 1, 2) == "hi"
hi_paths <- all_paths[hawaii_log]
hi_files <- all_files[hawaii_log]

# STEP 3 Download & extract from gz format into a single directory
mapply(download.file, url = hi_paths, destfile = hi_files)
## …
Run Code Online (Sandbox Code Playgroud)

r

3
推荐指数
2
解决办法
6682
查看次数

从列表首选项中获取整数或索引值

我在共享首选项中创建列表,当调用onPreferenceChanged()方法时,我想提取列表中项目的索引或某些情况下的整数值.我正在尝试构建xml数据,如下所示:

在数组中:

<string-array name="BackgroundChoices">
  <item>Dark Background</item>
  <item>Light Background</item> 
</string-array>
<array name="BackgroundValues">
  <item>1</item>
  <item>0</item> 
</array>
<string-array name="SpeedChoices">
  <item>Slow</item>
  <item>Medium</item>
  <item>Fast</item>
</string-array>    
<array name="SpeedValues">
  <item>1</item>
  <item>4</item>
  <item>16</item>
</array>
Run Code Online (Sandbox Code Playgroud)

在首选项xml文件中:

<PreferenceScreen android:key="Settings"  
   xmlns:android="http://schemas.android.com/apk/res/android"  
   android:title="Settings">

<ListPreference
        android:key="keyBackground"
        android:entries="@array/BackgroundChoices"
        android:summary="Select a light or dark background." 
        android:title="Light or Dark Background"  
        android:positiveButtonText="Okay"   
        android:entryValues="@array/BackgroundValues"/>
<ListPreference 
        android:key="keySpeed" 
        android:entries="@array/SpeedChoices" 
        android:summary="Select animation speed."
        android:title="Speed" android:entryValues="@array/SpeedValues"/>
</PreferenceScreen>
Run Code Online (Sandbox Code Playgroud)

所以我的xml不起作用.我知道如何使用字符串数组而不是数组来表示值.我可以提取值字符串并从中得到我想要的但我宁愿(如果可能的话)能够得到值为int,booleans或enums的列表.这样做的习惯方法是什么?

提前致谢,

松鸦

android sharedpreferences

23
推荐指数
3
解决办法
2万
查看次数

在OS X上重新安装Ruby

我已经把我的Snow Leopard机器上的Ruby搞砸了.我设法介绍了各种各样的问题,我很难清理.

让我回到Ruby的第一步的步骤是什么?我对编程很新,所以我需要它为我拼写!

ruby macos

4
推荐指数
1
解决办法
9446
查看次数

Clojure:减少,减少和无限列表

减少和减少可以让您在序列中累积状态.序列中的每个元素将修改累积状态,直到达到序列结束.

在无限列表中调用reduce或reduce的含义是什么?

(def c (cycle [0]))
(reduce + c)
Run Code Online (Sandbox Code Playgroud)

这将很快抛出OutOfMemoryError.顺便说一句,(reduce + (cycle [0]))不会抛出OutOfMemoryError(至少不是我等待的时间).它永远不会回来.不知道为什么.

有没有办法以一种有意义的方式调用无限列表中的减少或减少?我在上面的例子中看到的问题是,最终列表的评估部分变得足够大以溢出堆.也许无限列表不是正确的范例.减少生成器,IO流或事件流会更有意义.在评估并用于修改状态后,不应保留该值.

clojure

13
推荐指数
2
解决办法
4285
查看次数

TCP重传多少次

在半开连接的情况下,服务器崩溃(没有FIN或RESET发送到客户端),并且客户端尝试在此断开的连接上发送一些数据,每个TCP段将取消确认.TCP将在一些超时后尝试重新传输数据包.在放弃之前TCP会尝试重新传输多少次以及在这种情况下会发生什么?它如何通知操作系统主机无法访问?这在TCP RFC中指定了哪里?

networking tcp

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

MVC3 Json函数隐藏了特定的属性

在MVC3中有没有办法设置Json函数输出的属性?

即.我的模型上的属性有一个属性,告诉Json函数不输出它们.

c# json asp.net-mvc-3

3
推荐指数
1
解决办法
1182
查看次数

如何避免线程"main"中的异常clojure.lang.ArityException?

当用户不提供命令行参数时,我希望Hello World打印使用信息而不是错误跟踪.

":";exec clj -m `basename $0 .clj` ${1+"$@"}
":";exit

(ns hello
    (:gen-class))

(defn -main
    [greetee]
    (println (str "Hello " greetee "!")))

$ ./hello.clj Fred
Hello Fred!
$ ./hello.clj 
Exception in thread "main" clojure.lang.ArityException: Wrong number of args (0) passed to: hello$-main
    at clojure.lang.AFn.throwArity(AFn.java:439)
    at clojure.lang.AFn.invoke(AFn.java:35)
    at clojure.lang.Var.invoke(Var.java:397)
    at clojure.lang.AFn.applyToHelper(AFn.java:159)
    at clojure.lang.Var.applyTo(Var.java:518)
    at clojure.core$apply.invoke(core.clj:600)
    at clojure.main$main_opt.invoke(main.clj:323)
    at clojure.lang.FnLoaderThunk.invoke(FnLoaderThunk.java:36)
    at clojure.main$main.doInvoke(main.clj:426)
    at clojure.lang.RestFn.invoke(RestFn.java:422)
    at clojure.lang.FnLoaderThunk.invoke(FnLoaderThunk.java:36)
    at clojure.lang.Var.invoke(Var.java:405)
    at clojure.lang.AFn.applyToHelper(AFn.java:165)
    at clojure.lang.Var.applyTo(Var.java:518)
    at clojure.main.main(main.java:37)
Run Code Online (Sandbox Code Playgroud)

program-entry-point clojure command-line-arguments

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

为什么叫破坏?

我不知道为什么在下一个时间点调用向量中对象的破坏.

class Something
{
public:
    Something() {}
    ~Something()    { cout << "destruction called" << endl; }
};

int main()
{
    std::vector<Something> vec;
    Something sth1 = Something();   
    Something sth2 = Something();
    vec.push_back(sth1);
    vec.push_back(sth2);
    vec.clear();
}
Run Code Online (Sandbox Code Playgroud)

在我按下sth2后,调用sth1的破坏.为什么?不应该保留在vec [0]中吗?

c++

0
推荐指数
1
解决办法
107
查看次数

如何找到.bash_profile并添加到我的shell的初始化文件中?

我正在尝试使用rvm升级ruby.在实用网站上,它说:

重要的是将以下行添加到shell的初始化文件(.bash_profile)的末尾:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"

我该怎么做呢?这个初始化文件在哪里?请帮忙

rvm

8
推荐指数
1
解决办法
3万
查看次数