小编use*_*421的帖子

Java Socket.setSoTimeout() 在连接时不会超时

我遇到一个问题,我曾经setSoTimeout(500)在连接和读取时间延迟上设置 0.5 秒的超时,但它实际上不起作用,而是在大约 10 秒后超时,就像通常处理这种异常一样。是的,IP 在这种情况下是有效的。

java.net.ConnectException: Connection timed out: connect
Run Code Online (Sandbox Code Playgroud)

这是代码:

try {
    Socket sock = new Socket(ip, 42042);
    sock.setSoTimeout(500);
    BufferedInputStream is = new BufferedInputStream(sock.getInputStream());
    theNames = theNames + is.read() + ";";
    PrintWriter os = new PrintWriter(sock.getOutputStream());
} catch (IOException e) {
    System.out.println(e + " | Le serveur a " + ip + " ne reponds pas.");
}
Run Code Online (Sandbox Code Playgroud)

java sockets timeout

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

java如何重载run()方法

我有一些像这样的代码,我如何让两个run()方法在start()方法的不同线程中运行?

 public class Test extends Thread{
   @override
   public void run(){
        //do something

   }
   public void run(int i){
        //do something

   }

  public static void main(String[] args) {
     Test test=new Test();
     // test.start()
     // How Can I let the two run() methods run in different thread?

 }

}
Run Code Online (Sandbox Code Playgroud)

java multithreading

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

在这段代码中使用了哪种编程语言?

很久以前,我在开源社区看到了这段代码:

frq =: [:-.[:(2:|+/)\''''&=
  sp =: (#@[)([:<[}.[:>])"0 0[(]</.~[:+/\E.*.[:frq]),
  spf =: [:<[:([:','&sp[:-.&')'=&'('{"0 1,.&',')>
  cl =: #~[:-.e.&(33{.a.)*.frq
  parse =: [:([:<[:((spf@{.),(}.`([:<[:([:<[:spf"0[:'),'&sp>)"0[:');'&sp[:>{:)@.(2:=#)))[:':-'&sp>)"0 _1:}.[:'.'&sp cl

  isVar =: [:(91&>*.64&<)[:a.&i.[:{.>
  replace =: ((]i.~[:{.[){([:{:[),]`([:<[$:[:>])@.([:32&=[:3!:0[:>]))"2 0
  gp =: [:>[:{.>
  gv =: [:(#~[:+./"1 isVar"0),. 
  suit =: ([(0:`(([:(#=[:#[:~.[:{.|:)[:~.[:(#~[:-.[:isVar"0[:{:|:)gv)*.([:*./[:+./[:(isVar"0,=/),:))@.(([:#[)=[:#]))[:gp])"1 0#]
  sr =: [(](replace~[:|:])"2[:(([:-.[:isVar{:)"1#])[gv~[:gp])"1 0 suit
  groupVars =: [:([:<]$~2:,~[:-:#)"1[:>[:([:<[:;(>@[)([:<,"1 1)"1 2(>@]))/]</.~[:{.|:
  isRuleTrue =: ([:+./([:*./](isTrue~[:>])"1 0[:>[)"0 1)`(0:<[:#getVarsFromRule)@.(0:<#@gv@;@;@[)
  isTrue =: ]((a:&e.@])+.[:+./[(isRuleTrue~[:>])"1 0[:-.&a:])[:{:[:|:[:-.&(a:,a:)[:(0 2$a:)&,[:>sr
  getVars =: ;(([:<[:~.(>@{.@[)gv[:gp])`((>@{.@[)$:(<@<@gp@])([replace~[:|:[:>])"0 0(}.@[)getVarsFromRule~[:>[:{:[:>])@.([:<:[:#[:>]))"1 0 sr
  getVarsFromRule =: ](([:{.])#~[(isRuleTrue~[:>])"1 0[:{:])[:|:[(],[:<[replace~[:|:[:>])"1 0[:]`groupVars@.(0:<#)[:~.[:;[:;]([:<[getVars~[:>])"1 0[:;[

  goal =: ([:<S:0[:{.[:parse[:,&'.'])([:{&(>'No';'Yes')isTrue)`([:(]`((>@{.),[:' = '&,[:>{:)@.(2:=#))"1[:>getVars)@.([:+./[:isVar"0[)([:parse[)
Run Code Online (Sandbox Code Playgroud)

.j在这些页面上搜索过:(http://filext.com/file-extension/J),( …

j

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

为什么编译器抱怨无法使用类型为Base的rvalue初始化"Derived"

class Base {
public:
    virtual Base* clone() const { return new Base(*this); }
    // ...
};
class Derived: public Base {
public:
    Derived* clone() const override { return new Derived(*this); }
    // ...
};
int main() {
    Derived *d = new Derived;
    Base *b = d;
    Derived *d2 = b->clone();
    delete d;
    delete d2;
}
Run Code Online (Sandbox Code Playgroud)

我在最新版本的Xcode中编译上面的代码,编译器抱怨

cannot initialize a variable of type "Derived*" with an rvalue of type "Base*"*
Run Code Online (Sandbox Code Playgroud)

Derived *d2 = b->clone().

但我已经克隆了,virtual并让clone()Derived返回 …

c++ derived-class

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

在 flex 中连接到 EOF

我有以下几行:

<INITIAL><<EOF>>        {return 0;}
Run Code Online (Sandbox Code Playgroud)

我需要忽略最后一个 EOL -\n或者\r\n在 EOF 之前。我不知道如何将它连接到 EOF 以便它成为一个有效的正则表达式..我试过:

<INITIAL>((\n)|(\r\n))*<<EOF>>      {return 0;}
Run Code Online (Sandbox Code Playgroud)

但它说这是一个“无法识别的规则”。

eof flex-lexer

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

在编译的哪个步骤中删除了注释?

程序的编译有几个步骤

  • 线路重建
  • 词法分析
  • 预处理。
  • 语法分析
  • 语义分析

第一步中的注释删除是“行重构”吗?

compiler-construction compilation

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

Java大小数或双倍

我有一个数字,格式为(13,2)13位和2位小数.我需要对它进行一些计算(比如乘法,除法).我打算BigDecimal用于计算.我应该使用double或float进行计算,因为BigDecimal比较慢一点?

java floating-point type-conversion bigdecimal

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

Java 7不支持应该支持的密码

我需要通过JAX-WS中的客户端连接到外部服务器.客户端在Wildfly 8上运行.使用Java 8连接正常.但我在Java 7中连接到服务器时遇到问题(我试过u45,67,79).服务器端安全性的属性是https://www.ssllabs.com/ssltest/analyze.html?d=app.bundesnetzagentur.de

部分"密码套件"是四个密码.源代码http://docs.oracle.com/javase/7/docs/technotes/guides/security/SunProviders.html#footnote1-1不应该在Java 7中支持GCM密码,源 代码与Java版本的扩展表 http相关联://docs.oracle.com/javase/8/docs/technotes/guides/security/SunProviders.html#footnote1-1

好的,但两个密码CBC应该由上面相同的源代码推出.在这些来源中注意到,这些密码需要TLSv1.2或更高版本.但我使用这个版本.是的,我将UnlimitedJCEPolicyJDK7中的两个文件放入我的Java的/ lib/security文件夹中.但是在日志中我看到了一些关于"忽略不受支持的密码套件"的内容.我的连接以hanshake失败告终.这是缩短的日志:

//SOME ADDINGS TRUSTED CERT

12:42:00,426 INFO  [stdout] (default task-27) Ignoring unsupported cipher suite: TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384

12:42:00,426 INFO  [stdout] (default task-27) Ignoring unsupported cipher suite: TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256

//SOME ANOTHER  Ignoring unsupported cipher suite messages

12:42:00,526 INFO  [stdout] (default task-27) Allow unsafe renegotiation: false
    12:42:00,527 INFO  [stdout] (default task-27) Allow legacy hello messages: true
    12:42:00,527 INFO  [stdout] (default task-27) Is initial handshake: true
    12:42:00,527 INFO …
Run Code Online (Sandbox Code Playgroud)

java security encryption java-7 tls1.2

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

FIONBIO 的 Winsocks 定义的实际数字是多少?

我正在使用不支持系统包含文件的解释性脚本语言。

我需要许多 Winsock #defines 的数字。对于大多数人来说,我只能搜索文件并得到如下答案:

#define AF_INET6  23
Run Code Online (Sandbox Code Playgroud)

但对于 FIONBIO 我看到

#define FIONBIO   _IOW('f', 126, u_long)
Run Code Online (Sandbox Code Playgroud)

查找_IOW节目

#define _IOW(x,y,t)      (IOC_IN|(((long)sizeof(t)&IOCPARM_MASK)<<16)|((x)<<8)|(y))
Run Code Online (Sandbox Code Playgroud)

我为此找到了一些片段:

#define IOCPARM_MASK      0x7f
#define IOC_IN    0x80000000
Run Code Online (Sandbox Code Playgroud)

但是当我试图弄清楚结果是什么时,我在转弯的某个地方迷路了。

谁能告诉我 FIONBIO 应该是多少号?我确实在某处找到了一个帖子,其中随意提到在某些 UNIX 版本中有:

#define FIONBIO         := 0x5421
Run Code Online (Sandbox Code Playgroud)

我似乎无法让 windows Winsock 定义变成那个数字,而且我不确定它是否应该在任何情况下都相同。

有人可以告诉我答案吗?或者我必须下载一些windows开发环境并编写一个C程序来打印出值?:)

c sockets winsock

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

TCP over UDP VPN是否可靠?

如果我将通过UDP VPN使用它,应用程序中的TCP是否可靠?例如,我有一个应用程序的VPN服务器在10.8.0.1:8080上侦听TCP,我将从主机10.8.0.2到10.8.0.1:8080从TCP连接.它会可靠吗?

|----------|   udp tunnel         |----------|
|  Server  |----------------------|  Client  |
| 10.8.0.1==========tcp=============10.8.0.2 |
|          |----------------------|          |
|----------|                      |----------|
Run Code Online (Sandbox Code Playgroud)

vpn udp tcp openvpn

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