问题列表 - 第26723页

linux上的Java套接字bug(发送0xFF,收到-3)

在用Java编写WebSocket服务器时,我遇到了这个奇怪的错误.我把它减少到两个小的java文件,一个是服务器,另一个是客户端.客户端只需发送0x00字符串Hello然后0xFF(根据WebSocket规范).

在我的Windows机器上,服务器打印以下内容:

Listening
byte: 0
72 101 108 108 111 recieved: 'Hello'
Run Code Online (Sandbox Code Playgroud)

在我的unix框中,相同的代码打印以下内容:

Listening
byte: 0
72 101 108 108 111 -3
Run Code Online (Sandbox Code Playgroud)

获得-3而不是接收0xFF,从不打破循环并且永远不会打印它收到的内容.

代码的重要部分如下所示:

byte b = (byte)in.read();
System.out.println("byte: "+b);

StringBuilder input = new StringBuilder();
b = (byte)in.read();
while((b & 0xFF) != 0xFF){
 input.append((char)b);
 System.out.print(b+" ");
 b = (byte)in.read();
}
inputLine = input.toString();

System.out.println("recieved: '" + inputLine+"'");
if(inputLine.equals("bye")){
 break;
}
Run Code Online (Sandbox Code Playgroud)

我还将这两个文件上传到我的服务器:

我的Windows机器正在运行Windows 7,而我的Linux机器正在运行Debian

编辑:
当b是一个int时,它仍然很奇怪.我发送0xFF(255)但接收65533(不是65535或255).

java sockets linux

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

提出例外

我想提出一个异常,因为它是用Python或Java制作的 - 用错误信息完成程序 - .

可以将错误消息返回给父函数:

func readFile(filename string) (content string, err os.Error) {
    content, err := ioutil.ReadFile(filename)
    if err != nil {
        return "", os.ErrorString("read " + filename + ": " + err)
    }
    return string(content), nil
}
Run Code Online (Sandbox Code Playgroud)

但是我想要在发现错误时完成它.下一个会是正确的吗?

func readFile(filename string) (content string) {
    content, err := ioutil.ReadFile(filename)

    defer func() {
        if err != nil {
            panic(err)
        }
    }()

    return string(content)
}
Run Code Online (Sandbox Code Playgroud)

exception go

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

Ipad UIImagePickerController和UIPopoverController错误

我正在使用此代码打开带有imagepicker的popover

-(IBAction)photosAction:(id)sender 
{
// dismiss any left over popovers here
UIImagePickerController* picker = [[UIImagePickerController alloc] init]; 
picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; 
picker.delegate = self; 

UIPopoverController *popover = [[UIPopoverController alloc] initWithContentViewController:picker];
self.popoverController = popover;          
popoverController.delegate = self;
[popoverController presentPopoverFromBarButtonItem:sender  permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];
[picker release];
Run Code Online (Sandbox Code Playgroud)

但这会导致成员'popoverController'的错误请求,而不是结构或联合,并且此错误'popoverController'未声明(首先在此函数中使用).

此外,我想在选择图像时关闭弹出窗口.

选择图像后,我应该在以下函数中放置什么代码来关闭弹出窗口.

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
Run Code Online (Sandbox Code Playgroud)

谢谢您的帮助!

uiimagepickercontroller ipad uipopovercontroller

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

使用Tcl和sqlite为SQL事务生成命令

我无法理解如何在列表中创建SQL命令批处理并将其传递给sqlite以便在事务中执行.

基本上我现在做的是:

sqlite3 db1 $dbFile
db1 eval BEGIN
foreach Key [array names myArray] {
    db1 eval {SQL statement involving $Key}
}
db1 eval COMMIT
Run Code Online (Sandbox Code Playgroud)

我正在考虑使用SQL INSERT生成列表然后将其传递给db1事务db1 eval的方法,但这对我来说似乎不起作用.也许我只是犯了一些stupin语法错误.有人有一个工作的例子吗?

谢谢!

sqlite tcl

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

Google MAP API v3:显示标记的中心和缩放

我使用以下代码在我的地图上设置标记:

  var latLngs = []
  $.each(locations.markers, function(i, m){
   var myLatLng = new google.maps.LatLng(m.latitude, m.longitude);
   latLngs[i] = myLatLng                                          
   var marker = new google.maps.Marker({
    position: myLatLng,
    map: map,
    shadow: shadow,
    icon: image,
    shape: shape,
    title: m.city,
    zIndex: i
   });
  }) 
Run Code Online (Sandbox Code Playgroud)

标记显示在我的地图上.现在我想在这些标记上居中并缩放地图.我怎么能做到这一点?我试过了:

map.fitBounds(getBoundsForLatLngs(latLngs));
Run Code Online (Sandbox Code Playgroud)

latLngs的console.log给出:

 [(46.793182, 7.146903) { b=46.793182,  more...}, (46.8077779, 7.1709386) { b=46.8077779,  more...}]
Run Code Online (Sandbox Code Playgroud)

但它似乎不起作用,我在控制台中没有错误.我究竟做错了什么?

javascript jquery google-maps-api-3

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

SQLLoader,密码包含@ -signs

在windows xp中,我启动sqlloader.exe将数据加载到Oracle上.这很好用,直到我的密码包含@ -sign,sqlloader参数也使用它来确定要连接的数据库:sqlldr.exe userid/password @ database control = ctrlfile.ctl

如何让sqlldr.exe接受像p @ ssword这样的密码?

我尝试使用单/双引号:sqlldr.exe"user/p @ ssword"@database没有成功.我试图跳过整个用户/密码,在控制台上键入它,但没有成功.

即便谷歌也无法帮助我(虽然它带我进入了伟大的网站).

passwords sql-loader

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

在REST调用中使用URI作为参数值的最佳实践

我正在设计一个REST API,其中一些资源可以通过查询参数进行过滤.在某些情况下,这些过滤器值将是来自同一REST API的资源.这会产生冗长且非常难以理解的URI.虽然这本身并不是一个问题,因为URI意味着以编程方式创建和操作,但它会导致一些痛苦的调试.我正在考虑允许用作过滤器值的URI的快捷方式,我想知道这是否允许根据REST架构以及是否有任何最佳实践.

例如:

我有一个资源,让我获得Java类.然后,以下请求将为我提供所有Java类:

GET http://example.org/api/v1/class
Run Code Online (Sandbox Code Playgroud)

假设我想要CollectionJava类的所有子类,那么我将使用以下请求:

GET http://example.org/api/v1/class?has-supertype=http://example.org/api/v1/class/collection
Run Code Online (Sandbox Code Playgroud)

该请求将返回我Vector,ArrayList以及CollectionJava类的所有其他子类.

那个URI虽然很长.我可以通过允许hs作为别名来缩短它has-supertype.这会给我:

GET http://example.org/api/v1/class?hs=http://example.org/api/v1/class/collection
Run Code Online (Sandbox Code Playgroud)

允许更短URI的另一种方法是允许URI前缀的别名.例如,我可以定义class为URI前缀的别名http://example.org/api/v1/class/.这会给我以下可能性:

GET http://example.org/api/v1/class?hs=class:collection
Run Code Online (Sandbox Code Playgroud)

另一种可能性是完全删除类别名并始终为参数值添加前缀,http://example.org/api/v1/class/因为这是我唯一支持的内容.这会将所有子类型的请求Collection转换为:

GET http://example.org/api/v1/class?hs=collection
Run Code Online (Sandbox Code Playgroud)

原始请求URI的这些"简化"是否仍然符合REST架构的原则?或者我刚刚离开了深渊?

ADDENDUM:URI中可能同时有多个过滤器.可以是不同的参数,也可以是单个参数的值列表.按照"实现接口X和/或接口Y的所有类"或"实现接口X并且在ABC包中的所有类"的方式思考(其中包也可以像URI一样寻址http://example.org/api/v1/packages/a/b/c)

rest uri restful-url

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

在uploa之前检查文件的大小

在使用javascript上传之前,有没有办法检查文件大小?

javascript

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

如何在vs2008中缩放到正常文本大小?

我在vs2008帮助,Google或SO中找不到任何有关此问题的帮助.

场景:
我正在查看vs2008 SP1中的源文件; Windows 2003 Server SP2标准版,1280x1024.

该文件的无关名称是index.aspx.

相关的是该文件只有65行代码.
印刷品不可读 - 小于4磅.它
垂直使用不到三分之一的vs2008文本窗口,并且
横向使用vs2008文本窗口的四分之一.

它不仅仅是index.aspx; 例如,具有142行的另一个文件
仅垂直填充vs2008文本窗口的大约3/4,
并且水平地小于vs2008文本窗口的四分之一.

可能的原因:
可能,但不一定,我发现相当于放大/缩小,如在
Microsoft Word 等产品中找到的.

但是,我已经探索了许多vs2008工具栏和其他
自定义选项,不幸的是我无法找到
如何摆脱这种混乱.

窗口,重置窗口布局对文本大小没有影响;
我的小文字大小没变.

问题:如何将vs2008文本大小缩小和缩小并恢复到正常大小?

visual-studio-2008

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

用于开发和生产的Rails初始化程序

我有以下代码 /config/initializers/chargify.rb

Chargify.configure do |c|
  c.subdomain = 'example'
  c.api_key   = '123xyz'
end
Run Code Online (Sandbox Code Playgroud)

但我有不同的开发和生产设置.

那么,我如何根据环境获得一组不同的变量值呢?

environment ruby-on-rails initializer

17
推荐指数
2
解决办法
8773
查看次数