问题列表 - 第49474页

Android:java.net.DatagramSocket.bind:无效的参数异常

背景:我正在编写一个简单的UDP应用程序来ping我测试服务器,我每隔一分钟左右就会告诉我它仍然正常运行(我无法在服务器上为那些想知道的人启用ping).我计划在手机上运行此功能,以便在服务器不再响应时发出警告.

我正在尝试使用看似简单的java.net.DatagramSocket:

    try
    {
        socket = new DatagramSocket();
        socket.bind(null);
    } 
    catch (SocketException e)
    {
        System.out.println(e.toString());
        throw e;
    }
Run Code Online (Sandbox Code Playgroud)

我还说我已经通过android清单启用了Internet权限,如果我删除uses子句这样做,我会收到权限错误,所以我确信它工作正常.当我将此代码下载到Android虚拟设备(AVD)并执行它时,在调用bind()时,我遇到了以下异常:

03-17 19:07:39.401:INFO/System.out(338):java.net.BindException:参数无效

根据文档,null参数是正确的:

public void bind(SocketAddress localAddr)

自:API级别1

将此套接字绑定到localAddr指定的本地地址和端口.如果此值为null,则使用有效本地地址上的任何空闲端口.

但不信任文档,我决定在我的设备上枚举IP地址,如下所示:

    ArrayList<NetworkInterface>  allInterfaces = Collections.list(NetworkInterface.getNetworkInterfaces());

    NetworkInterface eth = allInterfaces.get(0);

    InetSocketAddress addr = new InetSocketAddress(eth.getInetAddresses().nextElement(), port);

    try
    {
        socket = new DatagramSocket();
        socket.bind(addr);
    } 
    catch (SocketException e)
    {
        System.out.println(e.toString());
        throw e;
    }
Run Code Online (Sandbox Code Playgroud)

当我单步执行代码时,它工作得很好,我可以看到AVD上的两个IP地址,但我在bind()调用上得到完全相同的异常.有没有人看到我可能会失踪的?我将继续研究并希望为我自己的问题发布一个解决方案,但我希望有人能够为我提供快捷方式.

java android arguments bind

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

线程如何更新主程序中的全局数据?

我正在重温我的一个旧线索.

我想启动一堆线程,每个线程执行相同的任务,并在每次完成时知道main(),如果成功或失败.

提供的解决方案是使用ConcurrentQueue,但其他帖子建议使用BackgroundWorker类或线程池.

有明确的答案吗?

同样,所有线程执行相同的代码并具有通过/失败结果.我希望运行的线程超过可用的线程,所以只要一个线程完成,我就会尽快启动另一个 - 我希望tehm尽可能地强调远程系统(reather而不是强调我的本地PC有太多的线程,所以我会需要进行实验以确定最佳线程数).

VB .NET的具体答案,但也欢迎一般的线程建议.

.net vb.net multithreading threadpool

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

具有条件的列的计数器缓存?

我不熟悉计数器缓存的概念,并且在我的应用程序主页上有一些天文加载时间,我相信我需要继续它.

我需要实现的大多数计数器缓存都附加了某些(简单)条件.例如,这是一个常见的查询:

@projects = employee.projects.where("complete = ?", true).count
Run Code Online (Sandbox Code Playgroud)

N+1当我显示一个列出公司每个员工的项目计数的表单时,我遇到了上面的查询问题.

途径

我真的不知道我在做什么,所以请指正!

# new migration
add_column :employees, :projects_count, :integer, :default => 0, :null => false

# employee.rb
has_many :projects

# project.rb
belongs_to :employee, :counter_cache => true
Run Code Online (Sandbox Code Playgroud)

迁移后...是我需要做的吗?

我如何在我提到的条件下工作,以尽量减少加载时间?

ruby-on-rails ruby-on-rails-3

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

我如何打开Orchard项目?

在VS 2010中加载它会引发许多错误,尽管它最终会(虽然是部分加载).

此外,Windows根本无法识别.PROJ文件,我在/ src文件夹中打开了.SLN文件,但在VS web express 2010中加载时出现了大量错误.这是问题吗?我需要完整版VS 2010吗?

asp.net asp.net-mvc visual-studio orchardcms

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

为什么在Java中使用并行数组?

Java中的并行数组是否有任何实际用例?维护相互关联的N个阵列似乎太麻烦了.

例:

int  ages[]   = {0,          17,        2,          52,         25};
String names[] = {"None",    "Mike",    "Billy",    "Tom",      "Stan"};
int  parent[] = {0,          3,         1,          0,          3};
Run Code Online (Sandbox Code Playgroud)

我可以创建一个Person类并将对象存储在一个单独的数组中.会贵一点,但更容易使用吗?

java parallel-arrays

6
推荐指数
2
解决办法
5968
查看次数

如何在活动中对齐标题或标签的中心?

我知道有两种设置活动标题的方法.一种方法是在android清单中设置它,如android:label ="@ string/app_name".第二个是在活动类中以编程方式设置,如setTitle("Hello World!").两种方式都位于左侧,但我如何将其放在中心?

android label title android-activity

6
推荐指数
4
解决办法
5万
查看次数

我可以将std :: string传递给DLL吗?

我将代码片段分成了一个,DLL因为它会经常更新,这样就可以更容易部署.

但我对我能做什么以及我不能做什么有疑问DLL.

  1. 我可以通过一个std:stringCString一个DLL
  2. 我可以将指针传递给structwith std::string members并将其填入DLL
  3. 可以DLL返回指向那里分配的结构的指针吗?它会有效吗?我可以删除吗?
  4. 什么应该更好地通过,a std::String或a Cstring

谢谢 !

c c++ dll memory-management

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

jQuery:获取选定的元素标记名称

有没有简单的方法来获取标签名称?

例如,如果我被赋予$('a')一个函数,我想得到'a'.

javascript jquery jquery-selectors

625
推荐指数
6
解决办法
54万
查看次数

在 bash 变量/数组中使用特殊字符

我在 bash 脚本中声明数组中的所有可打印字符时遇到问题。I\xe2\x80\x99d 喜欢通过循环 4 次显示所有可打印字符。

\n\n

例子

\n\n
array=( a b c d \xe2\x80\xa6 z A B C \xe2\x80\xa6 Z 1 2 3 \xe2\x80\xa6 0 ! @ # $ % ^ & * ( ) _ +)\n\nFor chr1 in ${array[@]} \nDo\nFor chr2 in ${array[@]}\nDo \nEcho $chr1$chr2\nDone\nDone\n
Run Code Online (Sandbox Code Playgroud)\n\n

我已经能够使用 ${array[value of space]} 获取要打印的空格字符,但我仍然无法获取要打印的 * 字符。由于某种原因,它倾向于打印文件列表。

\n\n

知道如何让它发挥作用吗?

\n

bash osx-snow-leopard

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

Ruby on Rails:如何在数据库中总结这些元素?

我有一个video_votes表,其中所有的投票都有一个名为value的列设置为1或-1.我想总结视频投票的所有价值并显示净投票数.首先,我应该如何总结,其次,我应该将这个值存储在我的视频表中吗?如果是这样,怎么样?

ruby database ruby-on-rails ruby-on-rails-3

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