小编viv*_*k.m的帖子

配置apache监听80以外的端口

我使用centOS服务器.我想配置apache来监听端口8079.我添加了LISTEN 8079指令httpd.conf.
我在iptables中打开了端口8079并重新启动了iptables.我甚至停止了iptables服务.

"netstat -nal | grep 8079" shows "tcp  0 0 :::8079 :::* LISTEN"
Run Code Online (Sandbox Code Playgroud)

如果我尝试访问http://localhost:8079http://myserver.com:8079从该计算机访问,我可以访问该页面.但是从任何其他机器我无法访问80以外的任何端口上的站点.在端口80上,它可以工作.在端口8079上没有.

我还需要配置什么?

apache2 apache-config

95
推荐指数
5
解决办法
41万
查看次数

如何查看gstreamer调试输出?

如何查看GST_CAT_INFO,GST_DEBUG等函数的输出?我是否需要使用调试级别集自行编译gstreamer,或者可以在应用程序级别完成?

gstreamer

18
推荐指数
3
解决办法
4万
查看次数

java中类型参数的类名?

假设T是一个类类型参数,为什么我不能使用T.class

我正在编写一个下载页面并根据传递的类解析它的函数.对于解析,我使用另一个签名为的函数:ParseObject::parse(Class<T> classname)

<T> void downloadParse(){
  ParseObject obj;
  obj.parse(T.class); //<--- why compiler error here?? (whereas something like Integer.class is allowed)
}
Run Code Online (Sandbox Code Playgroud)

java

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

对indexedDB查询的结果进行排序

我想对从indexedDB获得的结果进行排序.
每条记录都有{id,text,date}结构,其中'id'是keyPath.

我想按日期对结果进行排序.

我目前的代码如下:

  var trans = db.transaction(['msgs'], IDBTransaction.READ);
  var store = trans.objectStore('msgs');

  // Get everything in the store;
  var keyRange = IDBKeyRange.lowerBound("");
  var cursorRequest = store.openCursor(keyRange);

  cursorRequest.onsuccess = function(e) {
    var result = e.target.result;
    if(!!result == false){
        return;
    }
    console.log(result.value);
    result.continue();
  };
Run Code Online (Sandbox Code Playgroud)

javascript indexeddb

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

无法从Chrome内部的Webworker创建Web Worker

使用Chrome 17.0.963.46 m,我尝试从Web worker中创建一个新的Web worker.但得到了"未捕获的ReferenceError:工人未定义"

任何信息.在这?(谷歌在网络工作者中创建网络工作者的链接很少令人惊讶)

javascript web-worker

6
推荐指数
1
解决办法
2826
查看次数

QTcpSocket有时不发送数据

我有两个QT应用程序.一个应用程序可以被认为持有大数据,它每秒向第二个应用程序发送大约10 KB的数据块.

之前我曾尝试使用QUdpSocket传输数据但由于MTU限制约2-5K并需要自行分割和重新组合数据,我切换到QTcpSocket.

有时使用QTcpSocket正确发送数据(特别是如果我每隔100毫秒非常频繁地写数据),但有时根本不发送数据.5秒后甚至没有.有时,几个数据块在内部缓冲很长一段时间(几秒钟),然后一起发送.

m_socket = new QTcpSocket(this);
m_socket->connectToHost(QHostAddress::LocalHost, 45454);

sendDataEverySec()
{
    QByteArray datagram(10000, 'a');
    qint64 len = m_socket->write(datagram);
    if(len != datagram.size())
           qDebug() << "Error"; //this NEVER occurs in MY case.
    m_socket->flush();
}
Run Code Online (Sandbox Code Playgroud)

在接收器端,我使用readyRead信号来知道数据何时到达.

如何确保立即发送数据?对于我想要做的事情,有没有更好的选择?

编辑::当我在1秒的长间隙后写作时,"QAbstractSocket::SocketTimeoutError"每次发送者发送数据时,我都会在接收方端收到.如果发件人经常写入数据,则不会收到此错误.
是否可以使用QTcpSocket以我正在做的方式传输数据?

编辑2:在接收器方面,当readyRead发出信号时,我再次检查while(m_socket->waitForReadyRead(500)),因此我得到"QAbstractSocket::SocketTimeoutError"了.此外,此检查阻止了单个块的传递.
经过更多的文档后,似乎readyRead将在新数据可用时不断发出,因此不需要waitForReadyRead.
我收到了所有已发送的数据,但数据仍未立即生效.有时会合并两到三个块.这可能是因为接收方在读取数据等方面的延迟.

qt

6
推荐指数
1
解决办法
6365
查看次数

Proguard设置为不删除未使用的方法

考虑到android的以下代码结构:

package blah;
class A{
    class B{
        public void foo(String s){
        }
    } 
}
Run Code Online (Sandbox Code Playgroud)

我如何告诉proguard不要删除或混淆foo.
foo在编译时是代码中未使用的函数,但是在运行时从另一个代码运行.

我试过了:

-keep class blah.A.B;

-keepclassmembers class blah.A.B {
  public void foo(String s);
}
Run Code Online (Sandbox Code Playgroud)

等等,但没有什么能阻止Proguard删除该功能.我不希望proguard改变'foo'的名字.Proguard可能会更改A类或B类的名称,但不能更改函数名称'foo'.有什么建议?

android proguard

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

当TabHost存在于活动中时,EditText使用硬键盘失去焦点

我在tabhost中显示EditText.Tabhost位于SherlockFragmentActivity中.

假设我处于触摸模式,我点击EditText给它焦点并开始输入.键入2-3个字符后,我决定使用我的硬键盘.只要按下第一个硬键,我就会退出触摸模式,这也会使焦点移回当前选定的标签.只要我不使用硬导航键将焦点恢复到我的EditText,我将无法输入EditText.

仅当TabHost不在TabActivity中时才会导致此问题.

重现此问题的快速示例代码可能是 - ActionBarSherlock示例代码的FragmentTabs活动.选择CustomTab并尝试使用硬键盘在操作栏中的搜索视图内键入任何文本.看焦点只是移动到选项卡.

问题在Android 2.2,4.0和使用ICS模拟器上也是可重现的.

有没有人有更多的信息.关于这个问题?

(这里似乎提到了一种解决方法:https://stackoverflow.com/a/8684025/333137但它看起来像一个黑客)

谢谢.

编辑:经过更多调查,我在TabHost类中找到了setup()函数,只有在TabActivity中没有使用TabHost时才需要调用它.它注册一个键侦听器,只有在按下硬键时才会收到回调.

void setup(){
       // KeyListener to attach to all tabs. Detects non-navigation keys
        // and relays them to the tab content.
        mTabKeyListener = new OnKeyListener() {
            public boolean onKey(View v, int keyCode, KeyEvent event) {
                switch (keyCode) {
                    case KeyEvent.KEYCODE_DPAD_CENTER:
                    case KeyEvent.KEYCODE_DPAD_LEFT:
                    case KeyEvent.KEYCODE_DPAD_RIGHT:
                    case KeyEvent.KEYCODE_DPAD_UP:
                    case KeyEvent.KEYCODE_DPAD_DOWN:
                    case KeyEvent.KEYCODE_ENTER:
                        return false;

                }
                **mTabContent.requestFocus(View.FOCUS_FORWARD);**
                return mTabContent.dispatchKeyEvent(event);
            }
Run Code Online (Sandbox Code Playgroud)

我不确定它为什么调用requestFocus(View.FOCUS_FORWARD),但这并没有将焦点设置在其中的EditText(应该是什么?).此外,如果在操作栏中搜索视图,它完全在选项卡外.

android actionbarsherlock

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

无法通过jquery检索元素

html文件:

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

使用Javascript:

//create a div
var divElem = $('<div class="divText"></div>');

//create input element inside it
var inhtml = "<input type='text' id='12345' />";

//add to page
$(divElem).html(inhtml).appendTo('#main')
Run Code Online (Sandbox Code Playgroud)

以下不起作用,因为它无法找到输入元素:

//retrieve input element
$('#12345').val('hello')
Run Code Online (Sandbox Code Playgroud)

以下作品:

document.getElementById('12345').value = 'hello'
Run Code Online (Sandbox Code Playgroud)

以下作品:

var ipElem = $(inhtml);
$(divElem).append(ipElem).appendTo('#main')
$(ipElem).val('hello')
Run Code Online (Sandbox Code Playgroud)

任何人都可以告诉为什么第一版的检索元素在jquery中不起作用?(刚从jquery开始...... :))

编辑:我认为'12345'有效,但不是一些奇怪的ID:mytext0.15942923246580176见这里:http: //jsfiddle.net/9PVNb/4/

javascript jquery

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

在Javascript/google关闭库中进行类型转换

goog.structs.Set通过chrome.extension.SendMessageAPI 传递一个复杂的对象,包括从我的内容脚本到背景页面.另一方面,这goog.structs.Set被收到了Object.
我怎样才能将它回转到goog.structs.Set可以调用各种方法呢?

javascript google-closure-library google-chrome-extension

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

使用宏与其扩展之间的区别

#define ADD(a,b) (a)+(b)

void foo1()
{
    int a=1, b=2;
    int k=0;
    while(k++ < 10000)
    {
        int c = ADD(a,b);
        a = c;
    }
}

void foo2()
{
    int a=1, b=2;
    int k=0;
    while(k++ < 10000)
    {
        int c = a + b;
        a = c;
    }
}
Run Code Online (Sandbox Code Playgroud)

foo1和foo2有什么区别.有人问我这个问题,我找不到任何区别.两者似乎100%相同.关于堆栈上的内存分配可能有些不同?您可以尝试回答这个问题,假设记忆非常有限吗?

c

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

打印std :: string的字节表示

我打印出std :: string的字节表示时遇到奇怪的错误,而std :: wstring工作正常.

std::string str = "mystring";
unsigned short* vtemp = (unsigned short*)str.c_str();
for(int i=0; i<str.length(); ++i)
{
    cout << (unsigned short)((unsigned char)vtemp[i]) << " ";
}
cout << endl;

Incorrect Output: 109 115 114 110 0 204 204 204


wstring wstr(str.length(), L' ');
std::copy(str.begin(), str.end(), wstr.begin());

vtemp = (unsigned short*)wstr.c_str();

for(int i=0; i<wstr.length(); ++i)
{
    cout << (unsigned short)((unsigned char)vtemp[i]) << " ";
}
cout << endl;

Correct Output: 109 121 115 116 114 105 110 103 …
Run Code Online (Sandbox Code Playgroud)

c++ std

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