问题列表 - 第45363页

TcpClient.Close不会关闭连接

我有一个使用TcpClient和TcpListener通过网络进行通信的应用程序.但是,当我在客户端上调用TcpClient.Close以断开它与服务器的连接时,服务器根本不会做出反应.

现在,您询问这个问题是一个重复评论前一个,以及如何解决方案,可以发现在这里,相信我,当我说,我已经找到了这些,并试图他们.它没有帮助.我也尝试不同的组合TcpClient.Close,TcpClient.GetStream().Close()TcpClient.Dispose.什么都行不通.

代码没有什么值得注意的,只是客户端中的Disconnect方法重置所有变量以便重用,并关闭所有网络资源.服务器有一个循环,检查是否TcpClient.Connected为真,如果它是假的,它应该跳出循环并终止线程.

有任何想法吗?

c# networking tcpclient

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

如何检查heroku上的宝石列表

我知道有效的命令,但我不明白为什么.`...`在这种情况下做了什么.

我知道我可以跑:

heroku console
`gem list`
Run Code Online (Sandbox Code Playgroud)

要么

heroku console
`gem list`.split("\n")
Run Code Online (Sandbox Code Playgroud)

得到一个不错的输出,但我不明白这些是做什么的.为什么``

ruby ruby-on-rails heroku

19
推荐指数
3
解决办法
5530
查看次数

sizeof()C结构的一部分 - 排序

我想获取一些C结构中的部分数据,以部分序列化/反序列化它们,将字节从内存写入磁盘,反之亦然.

这些结构事先是未知的,它们是用我自己的C代码生成器(以及将序列化它的代码)动态构建的.可序列化字段将放置在结构的开头.

假设有一个包含4个字段的结构,前两个将被序列化:

typedef struct {
   int8_t x1;   
   int32_t x2;   /* 1 + 4  = 5 bytes (if packed) */
   int8_t y1;
   int32_t  y2;   /* 1 + 4  +1 + 4 = 10 bytes (if packed) */ 
}  st;
Run Code Online (Sandbox Code Playgroud)

我计划抓取指向struct变量的指针,并写入/读取n覆盖这两个第一个字段(x1, x2)的字节.我不认为我需要担心对齐/打包,因为我不打算序列化在不同的编译中存活(只有一个唯一的可执行文件可以读/写数据).而且,由于我的目标是广泛的编译器 - 体系结构,我不想对对齐包装或编译器特定的技巧进行假设.

然后,我需要计算字节数.我不能sizeof(st.x1)+sizeof(st.x2)因为alingment-padding 而这样做.所以,我打算从结构的开头到第一个"非持久"字段减去指针:

st myst;
int partsize = (char*)&myst.y1 - (char*)(&myst);
printf("partial size=%d (total size=%d)\n",partsize,sizeof(myst));  
Run Code Online (Sandbox Code Playgroud)

这似乎有效.它可以放在宏中.

(对于记录:我还尝试编写另一个不需要结构实例的宏,就像这样,但这里似乎不可能 - 但这对我来说并不重要).

我的问题:这是正确和安全的吗?你能看到任何潜在的陷阱,或者更好的方法吗?

除其他外:C标准(和事实上的编译器)是否假设结构域在内存中的顺序与它们在源中定义的顺序相同?这可能是一个愚蠢的问题,但我想确定......

更新:答案中的一些结论和我自己的发现:

  1. 我的方法似乎没有问题.特别是,C规定struct字段永远不会改变顺序.

  2. 也可以(如aswer建议的那样)从最后一个持久字段计数并添加其大小:(char*)&myst.x2 + sizeof(&myst.x2) - (char*)(&myst).这将是等效的,除了它不包括最后一个字段的填充字节(如果存在).一个非常小的优点 …

c struct

8
推荐指数
2
解决办法
1443
查看次数

如何在命令行中使用Emacs启动不同的模式?

有没有办法使用命令行启动不同的emacs模式?例如,是否可以按如下方式运行emacs?

   emacs --org-mode # to start orgmode
   emacs --python-mode # to start python mode
Run Code Online (Sandbox Code Playgroud)

之后我可以运行emacs来输入'Mx org-mode',但我想知道我是否可以启动不同的模式.

emacs mode

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

如何在函数中创建jQuery Dialog

有谁知道如何在函数中创建jQuery对话框?我找不到设置消息的属性...在我发现的每个例子中,对话框已经静态写入div-tag中的代码中.但是,我想用它来创建它,所以我需要知道如何在函数中创建一个对话框.

设置标题没问题:

    <script>
    // increase the default animation speed to exaggerate the effect
    $.fx.speeds._default = 1000;
    $(function() {
        $( "#dialog" ).dialog({
            autoOpen: false,
            show: "blind",
            hide: "explode"
        });

        $( "#opener" ).click(function() {
            //$( "#dialog" ).dialog( "open" );
            $( this ).dialog({ title: 'Please confirm deletion!' });
            return false;
        });
    });
    </script>
</head>
<body>
Run Code Online (Sandbox Code Playgroud)

我的文档和一些例子在这里.

谢谢你帮帮忙.

干杯,doonot

============================= [解决方案] ================== ===================

感谢所有回答此问题的人.这就是我想要的方式:

    function createDialog(title, text) {
    return $("<div class='dialog' title='" + title + "'><p>" + text + "</p></div>")
    .dialog({
        resizable: …
Run Code Online (Sandbox Code Playgroud)

jquery-ui

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

命名MYSQL时间戳列的语义

我需要一个代表这些数据的MySQL表:

  • 2月12日下午5:00 - Verdasco VS Monfils
  • 2月12日,9:25 pm - 桑普拉斯VS休伊特
  • 2月13日上午8:15 - Nishikori VS Del Potro

我想命名时间列时间,时间戳日期,但是如您所知,这些都是保留关键字.命名时间列的最佳方法是什么,而没有故意听起来俗气,以绕过命名限制?

mysql naming-conventions

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

R:屏蔽功能

在stats包中,有一个非常有用的函数叫做reorder().在gdata包中,还有一个名为reorder()的函数.

如何从stats强制reorder(),而不是在加载gdata包时被覆盖?或者,有没有办法引用您想要使用的重新排序()?

r

12
推荐指数
3
解决办法
3696
查看次数

如何包装像这样的div?

考虑你有一个固定高度和重量的div(在图中最里面的一个),你希望周围的div包含它,例如1 em的外边距.你会怎么做?

+--------+
| +-----+|
| |+---+||
| ||   |||
| |+---+||
| +-----+|
+--------+
Run Code Online (Sandbox Code Playgroud)

html css

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

Ruby Regex:拒绝整个单词

我知道在Regex中,你可以拒绝符号列表,例如[^abc].在我输入的中间看到一个完整的单词时,我想拒绝.

更确切地说,我想拒绝"打印<除了"所有">"以外的任何东西.几个例子:

print all - match
frokenfooster - no match
print all nomnom - no match
print bollocks - no match
print allpies - no match
Run Code Online (Sandbox Code Playgroud)

ruby regex

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

将Araxis Merge 2010与Visual Studio 2010和TFS 2010集成

我正在努力让Araxis Merge 2010与Visual Studio集成工作,并且我将面临一个砖墙,你应该传递给Merge.exe.

根据他们的文档,它的论点应该是:

/wait /swap /a3 /3 /title1:%6 /title2:%7 /title3:%8 %1 %2 %3 %4

然而,这似乎不起作用,有没有人知道问题可能是什么?

当进行合并时,工具弹出,但是头部说,/ wait和/ swap无法找到,这几乎就像它将标志解释为要比较的文件一样.

araxis visual-studio tfs2010

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