问题列表 - 第39298页

提升ASIO缓冲不起作用

我正在编写一个使用ASIO/UDP在单个远程/区域设置端点对之间发送和接收的网络应用程序.我曾使用udp :: socket :: receive来接收数据,我的代码中的所有内容都在逻辑上工作,但是我丢失了大量的数据包.我发现的是,在接收功能未被阻止时收到的任何数据包都丢失了 - 它没有缓冲.这特别奇怪,因为我使用以下命令将接收缓冲区设置为2MB:

sock_udp.connect( remote_endpoint );
sock_udp.set_option( boost::asio::socket_base::receive_buffer_size(2*1024*1024) );
Run Code Online (Sandbox Code Playgroud)

这个和事实,如果我只发送两个大约100字节的数据包,如果我花费任何时间处理第一个,我仍然会丢失第二个数据包.

我认为这可能是udp :: socket :: receive的缺陷,所以我重新编写了我的网络代码以供使用,udp::socket::async_receive但我仍然遇到同样的问题.也就是说,一旦我的处理程序被调用,我丢弃任何数据包,直到我再次调用async_receive.

我从根本上误解了什么吗?是否有一种不同的方法我应该使用boost来缓冲传入的数据包?

如果有帮助的话,我已经验证了这在XCode中的OS X中使用他们的自定义gcc4.2构建以及使用gcc4.5的Ubuntu 10.10都会发生.我还没有能够在Windows中尝试它.

c++ boost udp network-programming boost-asio

5
推荐指数
0
解决办法
1793
查看次数

具有SelectMultiple小部件的MultipleChoiceField"值[...]不是有效选择."

我的模型中定义了一个字段 -

    languages = models.CharField(max_length = 30, choices=LANGUAGE_CHOICES, blank = True, null = True)
Run Code Online (Sandbox Code Playgroud)

选择很简单 -

LANGUAGE_CHOICES = (
    ('English', 'English'),
)
Run Code Online (Sandbox Code Playgroud)

我在这个模型上定义了一个ModelForm并覆盖了该字段 -

languages = forms.MultipleChoiceField(choices=LANGUAGE_CHOICES, widget=forms.SelectMultiple)
Run Code Online (Sandbox Code Playgroud)

当我填写表格时,选择"英语",并尝试提交,我收到错误 -

语言
价值u"[u'English']"不是一个有效的选择

有什么基本的我做错了吗?或者,MultipleChoiceField与SelectMultiple小部件结合使用的方式不是很好吗?

另外,有没有理由为什么选择元组不能两次具有相同的值,就像我现在拥有的那样('英语','英语')?

这里有一些额外的代码可能有助于深入了解这一点

模板代码:

<div class="abovepad">
<label for="id_languages">Languages:</label>
    {{form.languages}}
</div>
Run Code Online (Sandbox Code Playgroud)

具有以下语言的POST数据部分:

u'languages': [u'English'],
Run Code Online (Sandbox Code Playgroud)

ModelForm代码的相关片段:

class ProfileForm(forms.ModelForm):        
languages = forms.MultipleChoiceField(choices=LANGUAGE_CHOICES)
class Meta:
    model = Student
Run Code Online (Sandbox Code Playgroud)

如你所见,我几乎没有定制任何东西.在我遇到这个问题的过去,我会切换到列表中的项目为模型,然后使用ManyToMany字段,这不会导致相同的问题.对于那些情况,让项目成为模型是有意义的; 在这种情况下它没有.我只是想知道我做错了什么,或者这个组合是不是应该工作.如果没有真正的答案,那么我的另一个选择就是尝试挖掘Django表单代码,看看它为什么要这样做.

forms django select field django-models

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

为什么Stream.Position很长

当我遇到一些我想知道的东西时,我正在弄乱一些二进制文件的解析.

Stream.Position属性属于Int64或类型long.为什么是这样?使用a是不是更有意义,UInt64因为流中的位置不能为负?

任何人都知道这是一个签名长而不是未签名长的用途?

c# asp.net long-integer

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

Microsoft SQL Server:任何方式来判断创建记录的时间?

我们的客户希望按记录创建日期订购.对我来说,这似乎是一个系统变量,记录本身的某种元数据.

有没有办法告诉创建记录什么时候没有实际创建一个默认为GetDate()的日期时间字段,并希望没有人修改它?

sql sql-server-2005

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

检测串行端口插入/移除

我正在连接USB-to-serial端口,可以随时插入或移除.我发现我可以使用WMI(特别是使用WMI Code Creator)来查询PC中的设备更改.

在下面生成的代码段中,订阅了Win32_DeviceChangeEvent.但是,此事件不会显示导致事件的设备(例如USB,串行端口等).有没有办法只在插入或删除串行端口时接收通知?

为了澄清,代码的重点不是检测串口的打开/关闭,而是检测是否已将端口添加到计算机或删除了以前的端口.

using System;
using System.Management;
using System.Windows.Forms;

namespace WMISample
{
    public class WMIReceiveEvent
    {
        public WMIReceiveEvent()
        {
            try
            {
                WqlEventQuery query = new WqlEventQuery(
                    "SELECT * FROM Win32_DeviceChangeEvent");

                ManagementEventWatcher watcher = new ManagementEventWatcher(query);
                Console.WriteLine("Waiting for an event...");

                watcher.EventArrived += 
                    new EventArrivedEventHandler(
                    HandleEvent);

                // Start listening for events
                watcher.Start();

                // Do something while waiting for events
                System.Threading.Thread.Sleep(10000);

                // Stop …
Run Code Online (Sandbox Code Playgroud)

.net wmi serial-port

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

删除隔离的存储文件

我知道这可能听起来非常苛刻,所以提前抱歉,但我正在学习,我花了近2个小时试图找出如何做到这一点,没有结果......

我想知道如何从windows phone 7中的独立存储中删除特定文件.

提前致谢!

c# silverlight windows-phone-7

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

Apache POI:如何在Excel文件中插入列

我正在使用POI来处理大学项目的Excel文件中的数据.我在现有Excel中插入新列时遇到问题.我试着用

Cell c = createCell(int column);
c.setCellValue("someValue");
Run Code Online (Sandbox Code Playgroud)

但似乎如果列已经存在,它将替换现有数据.我需要的是在插入新列时将所有其他列向右移动一列.

我通过互联网搜索,但我找不到解决方案.有没有办法做到这一点,没有迭代行中的所有单元格并逐个移动它们?

java excel

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

如何在散列中将变量值指定为变量名?

我需要定义一个哈希,用于使用jQuery发布一些ajax数据.哈希看起来像:

var setname = 'set_1';
elements = { set_1: {'beer','water','wine'} };
Run Code Online (Sandbox Code Playgroud)

我需要解决的挑战是'set-1'(数组元素的关键)应该根据值的动态命名var setname.

我想避免使用eval()当然..在PHP中它可以使用这样的双美元符号来完成:$$setname,但是在JavaScript中这样做的方法是什么?

javascript variables

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

获取php文件的内容

如何从其他php文件中的一个php文件中获取所有当前代码?

就像,我们在a.php里面有一些函数的文件.

和文件b.php,我们希望从中获取所有代码(不运行任何函数)a.php并在请求时将其回显给浏览器.

喜欢 (内部b.php):

$content = get_all_file_text(a.php);
echo $content;
Run Code Online (Sandbox Code Playgroud)

谢谢.

php get file

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

JCA 1.6 ResourceAdapter是否需要ManagedConnectionFactory?

我以前写了一个JCA资源适配器.

然而,现在我发现自己处于一个不得不单独写一个来访问BootstrapContext它及其相关的位置WorkManager,并且没有其他原因.

如果我正确地阅读了规范 - 这就是我的问题 - 看起来如果我希望有人能够以符合规范的方式使用我的资源适配器,我仍然需要实现ManagedConnectionFactory,因为它看起来只是按ManagedConnectionFactory实现方式提供的用户连接工厂可通过@Resource注释进行注入.

来吧,再看一遍; 我会等.:-)

在一个完美的世界中,我想编写我的ResourceAdapter实现,注释它@Connector,指定所有@ConfigProperty位,将其打包在一个.rar文件中,并完成它.

但是,在我看来,规范有效地强制要求消费者(在我的情况下是无状态EJB)和资源适配器模块之间的所有通信都应该通过用户连接工厂来完成.

例如,第6.10.1节说:

资源适配器必须提供以下接口的实现:

  • javax.resource.spi.ManagedConnectionFactory
  • javax.resource.spi.ManagedConnection
  • javax.resource.spi.ManagedConnectionMetaData

但是第18节 - 关于注释的部分 - 似乎没有规定以任何有意义的方式强制执行.

确实如此吗?我想它一定是,但我很想听听那些组装了1.6资源适配器的人.

java jca java-ee java-ee-6

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