我有一个简单的表现不佳的服务器(用Groovy编写)
ServerSocket ss = new ServerSocket(8889);
Socket s = ss.accept()
Thread.sleep(1000000)
和一个我想要超时的客户机(因为服务器没有使用它的输入)
Socket s = new Socket("192.168.0.106", 8889)
s.setSoTimeout(100);
s.getOutputStream.write( new byte[1000000] );
但是,此客户端将永远阻塞。如何让客户端超时?
谢谢!!
GWT中的每个RPC都有1分钟的超时时间,这是不可配置的。
我正在使用第三方提供者调用WEBSERVICE的同步方法。
有时,此方法(webservice)挂起超过1分钟,并使我的RPC崩溃。问题是我无法在服务器端捕捉到这个异常,我需要回滚一些标志(这是一个更复杂的过程-这只是一个例子)
try {
...my code goes here...
MYTHIRDPARTYWS ws = new MYTHIRDPARTYWS()
String RESULT = ws.run;
...my code needs to take action depending of the result..
如果我的处理程序花费了太多的时间,我希望它尽快返回一个错误,但现在我的处理程序将一直工作,直到它完成,所以我的客户端捕获了太多的超时异常。如何配置我的netty服务器?我已经试过ReadTimeoutHandler和WriteTimeoutHandler了,但是没有用吗?如何使用它?我的代码是这样的:
p.addLast("idleStateHandler", new IdleStateHandler(1, 1, 1, TimeUnit.SECONDS));
p.addLast("readTimeoutHandler", new ReadTime
我有一个java套接字调用服务器。但是,我不知道我可以在哪个地址到达服务器,所以我在几个线程中放置了几个套接字,它们试图每个连接一个地址到达服务器。我的预言是,我不想等待超时,但不知道如何正确地停止套接字及其线程。
代码:
socket = new Socket();
socket.connect(endpoint, timeout); // **Blocking method**
OutputStream out = socket.getOutputStream();
//Write Data here
我怎么才能中断手术?我认为Thread.stop()是一种糟糕的风格,而且它也不能正常工
我开发了一个基于java的客户端,它使用Java套接字连接到服务器。为了信息交换,我使用了http协议。基本上,我通过一个套接字建立了一个连接,并在客户端编写了一个向服务器发出http请求的方法。我正在连接的服务器是我自己开发的一个非常简单的服务器,我想问一问,是否可以通过套接字使用请求-方法进行长时间轮询。
由于我的类客户机中有一个请求-方法,我有两个选项:-一个连续请求:包含发送每毫秒的请求,询问是否发生了新的事件。一个长时间的请求(称为长轮询):客户端发送请求。如果服务器有响应,服务器将响应。否则,它将不会发送响应和请求将超时。此时,客户端发送一个新请求。
下面是对我的模型的描述:
I
我使用python和TCP制作了一个服务器。我想知道何时将客户端与服务器断开连接,这是如何完成的?我想做以下几件事:
在客户机上创建一个任务,该任务每秒钟或每两秒钟发送一次数据,这些数据报告客户端处于活动状态的服务器。
在服务器中创建一个任务来更新所有连接的“超时”,如果连接的“超时”超过6秒,则连接丢失,然后客户端从服务器断开连接.
在服务器端是这样的:
#dictionary whose key customer and value "time out" accumulated
timeOut = {}
# for each client that is
我有一个UDP服务器监听来自客户端的数据包。
socket = new DatagramSocket(port);
while (isListen) {
byte[] data = new byte[1024];
DatagramPacket packet = new DatagramPacket(data, 0, data.length);
socket.receive(packet);
}
在收到数据包之前,receive()方法将一直等待。可以停止等待接收吗?我可以设置一个boolean isListen来停止循环。另一方面,如果套接字正在等待,那么如果没有从客
我使用SignalR自托管服务(V2.2.0)作为服务器,使用Silverlight作为SignalR客户端。
我能够连接到服务器,并能够交换消息。我有一个按钮来停止与SignalR服务的连接。
我想要的是,当我单击此按钮时,该客户端的连接应该从SignalR集线器断开。我能够从SignalR集线器断开连接,但是响应需要这么多时间,我的客户端(Silverlight Web )进入无响应状态,大约28-30秒后返回。一旦单击按钮,是否有任何方法可以立即断开客户端的连接?