问题列表 - 第20812页

套接字监听并没有在Linux下的C++中取消绑定

我有一个侦听某个端口的套接字.我将SIGSTOP信号发送到等待端口的线程(使用accept)并终止它.然后我关闭了我等待的套接字的fd.但是对于我的项目的下一次运行,它不允许我再次听那个端口.我的程序是用linux下的C++编写的.我该怎么办?

我的代码的一些部分是:线程1:

void* accepter(void *portNo) {
int newsockfd;
sockfd = socket(AF_INET, SOCK_STREAM, 0);
if (sockfd < 0) {
perror("ERROR opening socket");
}
struct sockaddr_in server;
bzero((char *) & server, sizeof (server));
server.sin_family = AF_INET;
server.sin_port = htons(*(int*) portNo);
server.sin_addr.s_addr = INADDR_ANY;
if (bind(sockfd, (struct sockaddr *) & server, sizeof (struct sockaddr_in)) < 0) {
perror("ERROR on binding");
}

listen(sockfd, 50);
while (true) {
struct sockaddr_in client;
socklen_t clientLen = sizeof (struct sockaddr_in);
newsockfd = accept(sockfd, (struct sockaddr *) & client, …
Run Code Online (Sandbox Code Playgroud)

c++ sockets linux

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

c#当屏幕/显示器关闭或打开电源时如何获取事件?

嗨,我一直在寻找,但我找不到答案.我怎么知道屏幕何时关闭或打开.不是SystemEvents.PowerModeChanged.我不知道如何检索显示/屏幕事件

 private const int WM_POWERBROADCAST     = 0x0218;
        private const int WM_SYSCOMMAND         = 0x0112;
        private const int SC_SCREENSAVE         = 0xF140;
        private const int SC_CLOSE              = 0xF060; // dont know
        private const int SC_MONITORPOWER       = 0xF170;
        private const int SC_MAXIMIZE           = 0xF030; // dont know
        private const int MONITORON = -1;
        private const int MONITOROFF = 2;
        private const int MONITORSTANBY = 1; 
[DllImport("user32.dll")]
        //static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam);
        private static extern int SendMessage(IntPtr hWnd, int …
Run Code Online (Sandbox Code Playgroud)

c# events screen monitor

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

Win32API:如何确定 EN_CHANGE 是否是由于用户操作而不是软件操作?

我发现这种情况不时出现,而且我似乎从来没有一个真正强大的通用解决方案。

我有一个控件 - 在这个例子中是一个对话框上的 EDIT 控件。我想采取某些操作来响应用户 - 并且只有用户 - 修改编辑控件的内容。

可以通过编程方式设置编辑控件 - 例如,在设置对话框时,可能会在编辑字段中放置一个初始值。或者当用户从列表视图中选择一个项目时,该选择的文本很可能就是放置在编辑字段中的内容。

但是当用户修改编辑字段的内容时,我需要知道并做出响应(在这种情况下,我想从相应的列表视图中清除选择)。

我目前正在查看哪些控件具有焦点,并且如果编辑控件具有焦点,则仅将 EN_CHANGE 视为“来自用户”。

这个精美的作品在Windows 7 这个失败XP下(我没有测试过Vista的还)。

在 XP 中,如果编辑字段具有焦点,但用户单击列表视图,并且列表视图告诉编辑控件设置其内容,那么我会收到来自编辑控件的通知,该通知声称仍然具有焦点(: :GetFocus() == 编辑控件的 HWND)。但是这种不正确的状态在 Win7 中不会出现。

这是一个分层接口,因此我无法修改列表视图通知处理程序。它会进行选择更改,并在我不参与或无法真正干预的情况下更新编辑字段,而不是从他们俩那里获得通知。

关于如何普遍地、永久地解决“这个控制通知真的来自用户”难题的任何想法?

c++ windows winapi notifications mfc

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

开始使用 Perl 编写 Vim 脚本

我想创建一个 vim 函数/命令来插入 XSD 样式时间戳。目前,我在 vimrc 文件中使用以下内容:

nmap <F5> a<C-R>=strftime("%Y-%m-%dT%H:%M:%S-07:00")<CR><Esc>
Run Code Online (Sandbox Code Playgroud)

我想使用 Perl 代码:

use DateTime;
use DateTime::Format::XSD;
print DateTime->now(formatter => 'DateTime::Format::XSD', time_zone => 'America/Phoenix');
Run Code Online (Sandbox Code Playgroud)

但我不知道从哪里开始。我知道我可以定义一个使用 Perl 的函数。例子:

function PerlTest() 
perl << EOF
  use DateTime;
  use DateTime::Format::XSD;
  print DateTime->now(formatter => 'DateTime::Format::XSD', time_zone => 'America/Phoenix');
EOF
Run Code Online (Sandbox Code Playgroud)

但是当我将 vimrc 更改为以下内容时,我没有得到我所期望的结果:

nmap <F5> a<C-R>=PerlTest()<CR><Esc>
Run Code Online (Sandbox Code Playgroud)

有人能指出我实施这个的正确方向吗?这是我第一次尝试在 vim 中编写函数。另外,我使用的是带有 perl 支持的 vim 7.2。

vim perl

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

jQuery定时事件

是否有可能使用jQuery触发事件以在n之后设置div标签的文本.秒?

谢谢!乔治

jquery timing

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

明确实现的接口和泛型约束

interface IBar { void Hidden(); }

class Foo : IBar { public void Visible() { /*...*/ } void IBar.Hidden() { /*...*/ } }

class Program
{
    static T CallHidden1<T>(T foo) where T : Foo
    {
        foo.Visible();
        ((IBar)foo).Hidden();   //Cast required

        return foo;
    }

    static T CallHidden2<T>(T foo) where T : Foo, IBar
    {
        foo.Visible();
        foo.Hidden();   //OK

        return foo;
    }
}
Run Code Online (Sandbox Code Playgroud)

是否有任何区别(CallHidden1与CallHidden2)是实际编译的代码?T:Foo和T:Foo,IBar(如果Foo实现IBar)在访问显式实现的接口成员时是否存在其他差异?

c# generics explicit-interface

7
推荐指数
2
解决办法
803
查看次数

lucene使用的字符串匹配算法

我想知道Apache Lucene使用的字符串匹配算法.我一直在经历着由下式给出的Lucene使用的索引文件格式在这里.似乎lucene存储文本中出现的所有单词,以及每个文档中出现的频率.但据我所知,对于有效的字符串匹配,它需要预处理文档中出现的单词.

示例:搜索"iamrohitbanga是stackoverflow的用户"(使用模糊匹配)

在一些文件中.

有可能是一个包含字符串"rohit banga"的文档

为了找到子字符串rohit和banga存在于搜索字符串中,它将使用一些有效的子字符串匹配.

我想知道它是哪种算法.如果它做了一些预处理,java api中的函数调用会触发它.

java lucene algorithm string-matching

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

计算机启动时:它如何知道从哪条指令开始执行?

计算机启动时:它如何知道从哪条指令开始执行?

首先是需要执行的BIOS程序.那么,到底发生了什么?我想知道直到操作系统加载的过程.

assembly

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

管理员中的"另存为"和"另存为"

有没有办法在django管理站点中同时"另存为"和"保存并添加另一个"?

django

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

什么从ASP.NET MVC动作返回以允许jQuery ajax成功事件触发?

现在我的ajax发布所有激活他们的错误事件,即使该操作没有导致错误.我有一个ASP.NET MVC操作,看起来像:

[AcceptVerbs(HttpVerbs.Post)]
public virtual ActionResult StuffToDo(int id)
{
     // do various things that work ...
     return new JsonResult(); // i have to return something, so this...
}
Run Code Online (Sandbox Code Playgroud)

在客户端我有这个jQuery:

$('#actionClick').click(function() {
     if (confirm('Are you sure?')) {
         $.ajax({
             type: "POST",
             url: "/Customer/StuffToDo/<%= Model.Customer.Id %>",
             contentType: "application/json; charset=utf-8",
             data: "{}",
             dataType: "json",
             success: function() {
                 ShowSuccessResult("Yay!");
             },
             error: function(xhr, ajaxOptions, thrownError) {
                 ShowErrorResult("Boo! Message:" + xhr.responseText);
             }
         });
      }
      return false;
 });
Run Code Online (Sandbox Code Playgroud)

如果操作成功(没有抛出异常),那么我希望触发成功事件处理程序.相反,错误事件正在触发.有什么东西我应该传回或改变动作,以便成功事件触发?

我意识到这个问题与其他问题基本相同,但我的错误处理程序已经有了扩展的签名,解决了其他人的问题.

编辑 每个请求,这是我得到的响应:

链接到屏幕截图 (不知道如何显示它有问题)

编辑 我将返回值更改为Null以查看是否影响了任何内容,但没有更改行为. …

asp.net-mvc jquery

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