问题列表 - 第6886页

listen()而不调用bind()

我尝试了以下方法:

int sockfd = socket(...);
listen(sockfd, 10);
accept(sockfd, ...);
Run Code Online (Sandbox Code Playgroud)

没有任何调用失败,程序刚刚开始阻塞,好像我调用了bind().在这种情况下会发生什么?是否只是不可能接收连接,因为它没有本地地址或端口?或者它是否隐式分配了本地地址和端口,现在它正在监听那些?如果是这样,我该如何检索它们是什么?

language-agnostic networking network-programming tcp

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

代码执行期间报告信息:最佳设计

在设计正确的执行报告时,我总是怀疑.

假设你有以下(愚蠢,简单)的情况.我将使用python.

def doStuff():
    doStep1()
    doStep2()
    doStep3()
Run Code Online (Sandbox Code Playgroud)

现在,假设您想要报告各种步骤,如果出现问题等等.不是真正的调试:只是应用程序的信息行为.

第一个简单的解决方案是打印

def doStuff():
    print "starting doing stuff"
    print "I am starting to do step 1"
    doStep1()
    print "I did step 1"
    print "I am starting to do step 2"
    doStep2()
    print "I did step 2"
    print "I am starting to do step 3"
    doStep3()
    print "I did step 3"
Run Code Online (Sandbox Code Playgroud)

总的来说,这非常糟糕.假设这段代码最终会进入库中.我不希望我的图书馆打印出来的东西.我希望它能默默地完成这项工作.尽管如此,有时我想提供信息,不仅在调试情况下,而且还要让用户知道事情正在完成的过程中.打印也很糟糕,因为您无法控制邮件的处理.它只是去stdout,除了重定向之外,你无能为力.

另一种解决方案是拥有一个用于记录的模块.

def doStuff():
    Logging.log("starting doing stuff")
    Logging.log("I am starting to do step 1")
    doStep1()
    Logging.log("I did step 1")
    Logging.log("I am starting to …
Run Code Online (Sandbox Code Playgroud)

debugging logging

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

为每个会话分配随机颜色,用于聊天

我有一个我正在研究的AJAX聊天系统,到目前为止我已经开始工作了.我想做的一件事就是拥有它,所以当用户名显示在屏幕上时,它是一种独特的颜色(就像在AIM窗口中一样).如何生成随机颜色以分配给他们登录的特定会话的用户名?

颜色必须是在白色背景上更暗的颜色,并且当它们生成时,它们不能与其他当前用户分配的颜色太相似.

编辑谢谢,我想预定义的列表将是最简单的方法.如果我在配置文件中有此列表并在用户登录时指定颜色,那么我该如何确保没有两个登录用户具有相同的颜色?

javascript css php ajax jquery

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

从vs 2005迁移到vs 2008

我在一家大公司工作,我们还没有将dotnet运行时3.0+分发到桌面,所以我们都使用vs 2005和c#2.0

移动到vs 2008有什么大的好处,并且仍然针对开发人员定位2.0(因为运行时部署不会很快).

此外,如果建议升级到vs 2008,是否有任何问题或事情需要担心或准备.

注意:我们主要做winforms项目

c# visual-studio-2005 upgrade visual-studio-2008 visual-studio

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

AJAX聊天,自动滚动窗口

重复

使用JavaScript滚动溢出的DIV


我有一个AJAX聊天,它将消息输出到带溢出的div:auto,所以如果它太长,滚动条就会出现.是否有一种方法可以在添加新消息时自动滚动到底部?最好使用jQuery?

javascript php ajax jquery

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

协议对象上的键值观察:addObserver上的编译器警告:

我有一个简单的协议属性:

@protocol StopsSource <NSObject>
@property (retain,readonly) NSArray * stops;
@end
Run Code Online (Sandbox Code Playgroud)

我在别处添加一个键值观察器来监听"stops"属性的更改:

id<StopsSource> source = ...
[source addObserver:self
         forKeyPath:@"stops"
            options:NSKeyValueObservingOptionNew
            context:nil];
Run Code Online (Sandbox Code Playgroud)

代码按预期工作,因为当"stops"属性发生更改时,我会获得observeValueForKeyPath事件.真正的烦恼是addObserver调用上的编译器警告:

warning: '-addObserver:forKeyPath:options:context:' not found in protocol(s)
Run Code Online (Sandbox Code Playgroud)

'addObserver'方法在NSObject的类别中定义:

@interface NSObject(NSKeyValueObserverRegistration)
Run Code Online (Sandbox Code Playgroud)

有没有办法让XCode放弃这个警告?我的理解是协议不能采用类别,所以我不确定如何将NSKeyValueObserverRegistration方法引入我的协议,而不是将声明复制到协议本身,这似乎是一个黑客.

我知道这是一个微不足道的问题,因为它只是一个编译器警告,但我很想知道是否有一种"正确"的方法来解决这个问题.

cocoa objective-c key-value-observing

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

确定iPhone上的互联网可用性?

我在iPhone应用程序中使用NSURLConnection,如下所示:

NSURLConnection *conn = [[NSURLConnection alloc] initWithRequest: request delegate: self];
Run Code Online (Sandbox Code Playgroud)

请求已设置并正常工作,但我希望能够在没有可用连接的情况下向用户提供"连接不可用"消息.有没有快速的方法来确定iPhone上是否有可用的Internet连接?

像启动NSURLConnection后添加以下内容一样简单:

if (conn) { // do normal processing } else { // display connection not available message }
Run Code Online (Sandbox Code Playgroud)

提前谢谢,本

iphone objective-c

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

在 .NET 中显示 NOAA 图表

NOAA 提供两种格式的免费海图:

1) “NOAA Electronic Navigational Charts® (NOAA ENCs) 是代表 NOAA 最新、最强大的电子海图产品的矢量数据集。NOAA ENCs 符合国际海道测量局 (IHO) S-57 国际交换格式”

2) “NOAA Raster Navigational Charts® (NOAA RNCs) 是 NOAA 整套纸质海图的全彩色数字图像……采用 BSB 格式。”

有谁知道在 Microsoft 的 .NET 中使用和显示这些格式的任何开源例程?

.net mapping

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

Java 3D的未来是什么?

前段时间我读到了Java 3D与Java FX的集成,文章报道了将3D 3D引擎重写为FX的主要Java 3D项目.

java java-3d

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

使用PHP分页时MySQL大表性能问题

有一个巨大的mysql表,有300,000条记录,并希望以这种方式用PHP查询PHP中的记录(尽管这里不是重点):

SELECT * FROM `table` LIMIT 250000, 100 
Run Code Online (Sandbox Code Playgroud)

在记录的后半部分可能会非常缓慢,特别是在接近表格末尾时(LIMIT开始非常大).我的猜测是MySQL在将结果舀到我之前必须一直计算到250000?

那么如何解决这种或任何其他分页方法可能会更快?谢谢!

mysql database performance

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