如何设置DatagramSocket.receive()超时,解除阻塞,并不抛出exception [问题点数:40分]

Bbs1
本版专家分:0
结帖率 50%
Bbs1
本版专家分:0
Bbs4
本版专家分:1174
Bbs5
本版专家分:2572
关于 Socket 设置 setSoTimeout 误用的说明
做网络开发的想必对setSoTimeout这个方法很熟悉,知道是<em>设置</em>的<em>超时</em>事件。但是很多人都认为这个是<em>设置</em>链路的<em>超时</em>时间,但是查看相关文档的此方法的说明: HttpConnectionParams: Sets the default socket timeout (SO_TIMEOUT) in milliseconds which is the timeout for waiting fo
socket设置setsotimeout后为什么没有作用?
-
如何抛出Exception?
我平时做练习,一般都这样处理异常:rn在main方法中:rnpublic static void main(String[] args)throws Exception//就这样,不用trycatch()捕获,也不分具体是什么异常。这样做除了方便,有什么坏处?
select如何实现发送的阻塞解除阻塞?
实现一个通讯通用类,用TCP协议,在线程中进行数据收发。rn我想用Select<em>阻塞</em>线程监视是否有数据需要接收或者发送,接收很容易用Select实现就不说了,我想实现发数据的时候,在主线程把数据填充到发送缓冲区上,然后通知通讯线程的Select已经有数据需要发送。这时候,通讯线程可以<em>解除</em><em>阻塞</em>,发送缓冲区的数据。rn我想问的是,select<em>如何</em>实现发送的<em>阻塞</em>和<em>解除</em><em>阻塞</em>?
阻塞connect怎么设置超时
我在网上搜索了一下,讲的倒不少,但是没看太懂,怎么<em>设置</em>让connect 能<em>超时</em>?
socket阻塞接收数据超时设置
我用的是UDP进行网络编程,在接收数据时我想<em>设置</em>30秒的<em>超时</em>时间,在网上找了很多资料,照着试了却不能<em>超时</em>,它仍然会一直等下去,代码如下,忘各位高手指点.rn//所有其它工作已经完成,有数据来是可以接收的.rnint nNetTimeout = 20000;rnif(setsockopt(m_socket,SOL_SOCKET,SO_RCVTIMEO,(char *)&nNetTimeout,sizeof(int))!=0)rn return FALSE;rnrnWSARecvFrom(m_socket,&wsabuf,1,&dwRead,&dwFlag,(SOCKADDR*)&addr,&addLen,NULL,NULL);
如何手动抛出一个exception
进行Access的Update的时候,万一有错误,我想能<em>抛出</em>一个<em>exception</em>,rn是oleDB相关的<em>exception</em>rn请教语法?
Socket.setSoTimeout()方法的使用
setSoTimeout()这个方法所<em>设置</em>的<em>超时</em>时间还未结束的时候,可以通过socket.getInputStream()获得的InputStream对象进行二次读取。在二次读取的时候,如果客户端如果没有进行二次请求,InputStream对象二次读取的时候会死锁,直到客户端二次请求时才会继续运行,但是一旦超过setSoTimeout()方法所<em>设置</em>的<em>超时</em>时间,便会<em>抛出</em>java.net.Socket
使用DatagramSocket发送、接收数据(Socket之UDP套接字)
http://book.51cto.com/art/201203/322540.htm 17.4.2 使用DatagramSocket发送、接收数据(1) Java使用DatagramSocket代表UDP协议的Socket,DatagramSocket本身只是码头,不维护状态,不能产生IO流,它的唯一作用就是接收和发送数据报,Java使用DatagramPacket来代表数据报,Da
UDP DatagramSocket 的超时时间如何设置
在DatagramSocket中setSoTimeout函数可以<em>设置</em>receive函数的<em>阻塞</em>时间,请问这个值的<em>设置</em>一般有没有规律啊。 我在做对自定义IP段的每个IP要进行通信,获取各个IP上的数据,请
DatagramSocket.receive无限阻塞,占用线程,导致一段时间过后线程全部被占用
在项目中遇到一个问题,同一套程序,在其他机器上能够正常运行,但是在某台特定的机器上发生了这种情况,查看dump文件,线程全卡在了这个地方,soTimeout有<em>设置</em>3秒,想请教一下各位遇到过这种情况吗,
关于udpclient接收时候假死的问题
-
如何看懂数据库抛出exception
耳熏目染了好久的hibernate,rn刚好,亲身使用了一段时间的nhibernate。rn实践上的问题真不少,rnlazy session生存管理,性能优化等问题。rnrn现在遇到棘手的事情是数据库异常的判断。rnrn本来,约束我是做在业务逻辑里面的。rn在保存数据库前,主动检查数据库存在的冲突。rn因为防止并发出错,把检查和更新的一段临界区代码lock起来。rn在效率方面我已经是做出最大的妥协了,rn为了检查,多次的数据库交互,还有并发保护。rn可是,如果在更新关联到collection时,我是不是把collection一个一个地检查?rn在我还没有修改过collection检查?更或者,这个lazy collection还没读出来?rnrn我翻看了hibernate的文档,中可能有两个东西能帮上忙。beforeUpdate volidatablern但即使上面两个真能解决这个问题,还是要考虑并发。rnrn但现在我把约束做在了数据库上。rn在处理业务代码中,只管调用update和catch <em>exception</em>。rn在数据层中,通过判断数据库异常(例如,是违反了表中的那一个约束),rn转换成业务异常,再往业务层抛。rnrn可是,我没办法从<em>exception</em>中判断出触发的原因,即使是SqlError也没有。rn我想到的唯一的信息可获取于 <em>exception</em>.Message,rn通过字符串搜索?我无法忍受。rnrn直接把message输出也不符合我的要求。rnrn意思是说,我没办法用数据库的约束功能?
exception ,异常抛出问题
function Period1Formula return VARCHAR2 isrnbeginrnrnDECLARErn l_period_name VARCHAR2(15);rn l_period_POD DATE;rn l_period_PCD DATE;rn l_period_closed VARCHAR2(4);rn l_period_PC NUMBER(15);rn l_period_FY NUMBER(15);rnBEGINrnIF upper(:p_mrcsobtype) = 'R' rnTHEN rn BEGINrn SELECT period_name,rn period_counter,rn period_open_date,rn nvl(period_close_date, sysdate),rn decode(period_close_date, null, 'NO', 'YES'),rn fiscal_yearrn INTO l_period_name,rn l_period_PC,rn l_period_POD,rn l_period_PCD,rn l_period_closed,rn l_period_FYrn FROM FA_DEPRN_PERIODS_MRC_Vrn WHERE book_type_code = :P_FROM_BOOKrn AND period_name = :P_PERIOD;rn[color=#FF0000] <em>exception</em> rn when NO_DATA_FOUND then rn beginrn l_period_name:=NULL;rn l_period_PC:=NULL;rn l_period_POD:=NULL;rn l_period_PCD:=NULL;rn l_period_closed:=NULL;rn l_period_FY:=NULL;rn end;[/color]rn end;rnELSErn BEGINrn SELECT period_name,rn period_counter,rn period_open_date,rn nvl(period_close_date, sysdate),rn decode(period_close_date, null, 'NO', 'YES'),rn fiscal_yearrn INTO l_period_name,rn l_period_PC,rn l_period_POD,rn l_period_PCD,rn l_period_closed,rn l_period_FYrn FROM FA_DEPRN_PERIODSrn WHERE book_type_code = :P_FROM_BOOKrn AND period_name = :P_PERIOD;rn <em>exception</em> rn when NO_DATA_FOUND then rn[color=#FF0000] beginrn l_period_name:=NULL;rn l_period_PC:=NULL;rn l_period_POD:=NULL;rn l_period_PCD:=NULL;rn l_period_closed:=NULL;rn l_period_FY:=NULL;rn end;[/color]rn END;rnEND IF;rn :Period1_PC := l_period_PC;rn :Period1_POD := l_period_POD;rn :Period1_PCD := l_period_PCD;rn :Period_Closed := l_period_closed;rn :Period1_FY := l_period_FY;rn return(l_period_name);rnEND;rnrn rnRETURN NULL; end;rnrn这是我报表中一自定义公式。但运行报表时从view LOG里看到这样的错误rnREP-1401: 'period1formula': Fatal PL/SQL error occurred.rnORA-01403: no data foundrn我传的参数确定是没有找到数据,但没找到数据时给赋予空值了
抛出Exception问题?
如:public static int parseInt(String s)rn throws NumberFormatExceptionrnint i=0;rnint i=Integer.parseInt("111");rn需要这样?rnint i=0;rntry i=Integer.parseInt("111");rnrncatch(NumberFormatException e)rn//i=0;rnrn问:java api 中throws Exception都需要try catch 吗?rn请高手指点一下rnrnrn
如何取消socket的超时阻塞
struct timeval tv_out;rn tv_out.tv_sec = 4;rn tv_out.tv_usec = 500;rn setsockopt(socketFd,SOL_SOCKET,SO_RCVTIMEO,&tv_out,sizeof(tv_out));rnrn之后我想取消这个<em>设置</em>,恢复到原来的<em>阻塞</em>模式,请问应该怎么操作
超时解除锁定命令
  SELECT @@LOCK_TIMEOUT AS [Lock Timeout]; SET LOCK_TIMEOUT 18000;--基本单位为毫秒   SELECT @@LOCK_TIMEOUT AS [Lock Timeout]; GO
网络编程Socket之UDP(三)超时设置和非阻塞
前面遗留的两个问题: 1.客户
Java DatagramSocket(UDP)要注意的问题
由于byte数组的大小问题,在网络发送过程中,可能包含多余的空格,若接收时要对数据进行比较,最好先将数据做下处理,处理掉多余的空格。
java中设置socket超时时间的那些坑
通常情况下 这样<em>设置</em>socket<em>超时</em>时间 方式1 final Socket socket = new Socket(&quot;ip&quot;,&quot;port&quot;);//自动开始连接ip socket.setSoTimeout(Constants.userRequestOutTime);//<em>设置</em><em>超时</em>时间 OutputStream outStream = socket.getOutputStream();   ...
DatagramSocket的receive问题
这个是接收端 package Datagram; import MyUtil.MyDatagramSocket; import java.net.*; import java.io.*; public
socket编程大家都是用阻塞还是非阻塞的方式啊?udp的
小弟要做个接收UDP数据的上位机,接受30个下位机端口的数据,这三十个端口每1s给上位机发一次数据,接收完数据还要处理一下再存到数据库,在编程的时候我纠结了,不知道选哪种方式,貌似<em>阻塞</em>的简单一些,可是
如何阻塞情况下,设置connect超时
因为要登陆上服务器才能继续操作, 这时界面也必须在等待,不能执行任何操作。rnrn非<em>阻塞</em>的情况用select 或者setsockopt可以直接<em>设置</em>,<em>阻塞</em>的情况呢???rn rnrn这样行不行? 创建一个线程 ,然后用select <em>设置</em><em>超时</em>时间,等待这个线程结束??
请问阻塞的socket怎么设置超时
我现在用的是多线程方式,每个线程一个<em>阻塞</em>的socket,请问怎么<em>设置</em>connect、send、recv的<em>超时</em>?
C++ 之Socket 编程 send rev 阻塞设置 阻塞超时时间
int nTimeout,=1000; set //<em>设置</em>发送<em>超时</em>为1000ms if( SOCKET_ERROR == setsockopt( sockClient, SOL_SOCKET, SO_SNDTIMEO,                                (char *)&nTimeout, sizeof( int ) ) ) { fprintf( stderr
socket的recv阻塞可不可以设置阻塞超时时间?
定义了一个socketClientrnrn用recv接收数据,send发送,可是总是<em>阻塞</em>到那里,能否<em>设置</em><em>阻塞</em><em>超时</em>的时间,<em>超时</em>能返回,我的程序必须用<em>阻塞</em>方式,是商务合作方决定了的。
请问如何拦截 Exception 抛出的信息
如题, 我要拦截的是 Exception <em>抛出</em>的信息, 要把它记录起来, 但是不要显示对话框, 不够可以加分.
怎样关闭正在做堵塞接收操作的DatagramSocket
使用DatagramSocket dsocket接收数据,无限<em>超时</em>堵塞接收操作,在某时刻想关闭它, 只用dsocket.close()函数行吗?是否还要其他操作? 高手请教!!! dsocket.se
java中使用socket进行udp方式通信时拔掉网线会导致send()方法阻塞
记录一下我在项目中遇到的一个坑:设备搭载Android系统类似于机顶盒之类的设备,所以android客户端连接到服务器的使用不了wifi,只能通过网线连接,通信方式是使用socket进行udp通信。 1. 环境: 客户端登录成功后,会开始发送心跳,下面是实现流程的伪代码: public class Test{ private int sendCount = 0; /** 向
Socket和DatagramSocket的区别
简而言之就是: Socket使用的tcp连接,需要先连接之后才能发送数据。 DatagramSocket使用的UDP连接,客户端不需要先连接数据,可以直接发送给指定服务端。 DatagramSocket: 客户端发送(直接发送数据,没有连接的过程): protected void connectServerWithUDPSocket(Context context, String id...
android开发使用UDP进行通信中通过DatagramSocket创建对象抛出异常
-
急!Socket通信,怎么停止.socet.receive()
各位: 有两个线程,一个是doListenThread(),侦听客户端连接的线程 一个是doReceiveDataThread(),接受客户段信息的线程 在运行过程中,画面上有个停止按钮, 想一点按钮
39 超时阻塞套接字接收
本课程适合中学员,适用于从事iOS/Android/嵌入式Linux网络通讯开发的学员。实战案例可用于无人机,安防,直播等。从Linux音频,视频采集,到TCP/IP UDP Socket基础概念,网络编程接口介绍,POSIX线程封装,私有协议定义,开发,服务器模型,客户端编程等详细实战讲解,整个过程,涵盖iOS,Android ,Mac OS嵌入式Linux网络编程核心的大量实用场景。让学员能够掌握相关知识,融汇贯通掌握网络通讯开发核心知识。 付费学员加入QQ群,可获得本人未来1~3年学习过程中的专业指导解答。第三节课第7分15秒有QQ群,欢迎付费学员加入探讨技术问题。rn
recv阻塞超时问题
客户端要<em>设置</em>recv<em>超时</em>,rn这样写怎么不对?rntime_t timeout;rntimeout=6000;rnif (setsockopt(sockfd, SOL_SOCKET, SO_RCVTIMEO, (char *)&timeout,rn sizeof(timeout))==-1) rn return 0;rnrnrn写在recv函数前面,可就是不对,请问大家这怎么弄?
38 超时阻塞套接字发送
本课程适合中学员,适用于从事iOS/Android/嵌入式Linux网络通讯开发的学员。实战案例可用于无人机,安防,直播等。从Linux音频,视频采集,到TCP/IP UDP Socket基础概念,网络编程接口介绍,POSIX线程封装,私有协议定义,开发,服务器模型,客户端编程等详细实战讲解,整个过程,涵盖iOS,Android ,Mac OS嵌入式Linux网络编程核心的大量实用场景。让学员能够掌握相关知识,融汇贯通掌握网络通讯开发核心知识。 付费学员加入QQ群,可获得本人未来1~3年学习过程中的专业指导解答。第三节课第7分15秒有QQ群,欢迎付费学员加入探讨技术问题。rn
select阻塞怎么解除?急~~~~
先把代码贴上rnwhile(TRUE)rn rn fd_set rdfds;rn FD_ZERO(&rdfds);rn FD_SET(sockSrv,&rdfds);rn while(1)rn rnrn int retval=select(0,&rdfds,NULL,NULL,NULL);rn printf("retval=%d\n",retval);rn if(retval == SOCKET_ERROR)rn rn printf("select failed!\n");rn WSACleanup();rn rn elsern rn if(FD_ISSET(sockSrv,&rdfds))rn rn sockConn=accept(sockSrv,(SOCKADDR*)&addrClient,&len);rn FD_SET(sockConn,&rdfds);rn printf("connected from '%s'\n",inet_ntoa(addrClient.sin_addr));rn rn rnrn elsern rn rn send(sockConn,sendBuf,2357,0); rn printf("传输文件字节数为%d\n",2357);rn closesocket(sockConn);rn rn rn rn rn我把建立连接后生成的套接字sockConn添加到文件描述符集合rdfds中,通过循环再执行SELECT,结果一直<em>阻塞</em>,什么原因?是我没准备好要发送的数据到缓冲区吗?
怎么解除recvfrom阻塞阻塞状态
一个线程是客户端,recvfrom所在的是次线程,是服务器端。rn一般情况我是需要recvfrom<em>阻塞</em>的,但是在按Ctrl+c时触发了信号要让线程依次退出,就是要让各个线程跑到return,可是线程中的recvfrom已经<em>阻塞</em>,使得次线程不能安全退出,有什么办法解决么?rn求大牛赐教 啊
请大神看看android socket通信代码,发送没问题,接收UDP包时一直卡在receive。
-
android-24中DatagramSocket的坑,以及synchronized的用法详解
最近项目出现在android 7.0 的设备上出现anr,通过排除发现是我用的第三方的jar 中在使用DatagramSocket 关闭链接的时候如下: if (datagramSocket != null) { datagramSocket.disconnect(); datagramSocket.close(); }因为这个编写的时
DatagramSocket发送和接受文件
在大部分的教程中,在学习UDP时,都是发送字符串,且接收端也只接受一次,本人在心血来潮的情况下想摸索下<em>如何</em>使用UDP发送文件,现在将代码共享给大家,希望大家不吝赐教! 发送端代码: public class SendDemo { /** * @param args * @throws IOException */ public static void main(St
抛出消息(throws exception)问题?????
请详细给在下讲解一下<em>抛出</em>消息是怎么回事,有几种消息,<em>如何</em>用。rn在下初学java,也许问题本身就有问题请各位前辈领会精神,多多指点rn一定给分
不能catch到_vsntprintf_s抛出exception
有如下函数:rnvoid Test(const TCHAR* szFormat, ...)rnrn TCHAR szBuffer[1024] = 0;rn va_list vargs;rn tryrn rn va_start(vargs, szFormat);rn _vsntprintf_s(szBuffer, sizeof(szBuffer)/sizeof(TCHAR), szFormat, vargs);rn va_end(vargs);rn rn catch(...)rn rn AfxMessageBox(_T("<em>exception</em>"));rn rnrnrn调用:rnTest(_T("%]"), _T("abc"));rnrn问题:rn由于调用的地方传入的是%],这是一个非法的格式符,会导致_vsntprintf_s异常,但是居然catch不到异常,程序直接非法退出了。请为为何?
dwr调用抛出exception SecurityException
我想用dwr的dwr+gi 例子做一个实时刷新数据的数据表格,昨天刚开始运行他的demo,自己也根据他的demo改好了 能运行成功rn今天跑过来一打开那个html就把线程给挂起了 很少在论坛提问题,今天确实是没招了。。。。。。rn用的时dwr2.0rndwr.xmlrnrn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rnrn rn rn rn rn rn rnrnweb.xml文件是rnrnrn rn rn 30rn rn rn rn org.directwebremoting.servlet.EfficientShutdownServletContextAttributeListenerrn rn rn org.directwebremoting.servlet.EfficientShutdownServletContextListenerrn rn rn gidemo.PublisherServletContextListenerrn rn rn dwr-invokerrn org.directwebremoting.servlet.DwrServletrn rn debugrn truern rn rn activeReverseAjaxEnabledrn truern rn rn initApplicationScopeCreatorsAtStartuprn truern rn rn maxWaitAfterWritern 100rn rn rn crossDomainSessionSecurity rn false rn rn rn rn org.directwebremoting.extend.ServerLoadMonitorrn org.directwebremoting.impl.PollingServerLoadMonitorrn rn rn 1rn rn rn dwr-invokerrn /dwr/*rn rn rn index.jsprn rnrnrn
hibernate exception应该怎样抛出
![图片说明](https://img-ask.csdn.net/upload/201704/16/1492328822_144667.png)n![图片说明](https://img-ask.csdn.net/upload/201704/16/1492328868_529205.png)n到底该怎么改呢?
InternetWriteFile 是不是也会阻塞 如何设置超时?
[code=C/C++]DWORD WINAPI DownLoad(LPVOID lparameter)rnrn char buf[RECVLEN]=0;rn char downloadbuf[SENDLEN]=0;rn COMMAND downloadstr;rn int ret=0;rn char threadrecvbuf[RECVLEN]=0;rn DWORD offset=((DWORD*)lparameter)[0];//offsetrn DWORD destpathlen=((DWORD*)lparameter)[1];rn TCHAR destpatha[MAX_PATH]=0;rn memcpy(destpatha,(char*)lparameter+8,destpathlen*2);rn //rn FILE*fp;rn if ( (fp=_wfopen(destpatha,_T("rb")))==NULL )rn rn loadstop=false;rn memset((char *)&downloadstr,0,sizeof(COMMAND));rn downloadstr.num=NUM;rn downloadstr.order=LOADFILE;rn memset(downloadbuf,0,SENDLEN);rn base64Encode((char *)&downloadstr,downloadbuf,sizeof(COMMAND));rn EnterCriticalSection(&g_cs);rn ret=SendCgiRequest(downloadbuf,buf);rn if (ret!=3)rn rn ret=SendCgiRequest(downloadbuf,buf);rn if (ret!=3)rn rn LeaveCriticalSection(&g_cs);rn return 1;rn rn rn LeaveCriticalSection(&g_cs);rn return 0;rn rn INTERNET_BUFFERS ib;rn DWORD dwTotalSize=1000;//file sizern DWORD dwBufSize=6000;//data sizern fseek(fp,0,SEEK_END);rn int filelen=ftell(fp);rn dwTotalSize=filelen-offset;//file len+6000rn rewind(fp);rn memset(&ib, 0, sizeof(INTERNET_BUFFERS));rn ib.dwStructSize = sizeof(INTERNET_BUFFERS);rn ib.dwBufferTotal = dwTotalSize;rn ib.dwBufferLength = dwBufSize; rnrn HINTERNET hInternet = ::InternetOpenA("Sample String", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);rn HINTERNET hConnection = ::InternetConnectA(hInternet, servname, port, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 0);rn HINTERNET hRequest = ::HttpOpenRequestA(hConnection, "POST", "test", NULL, NULL, NULL, 0, INTERNET_FLAG_EXISTING_CONNECT|INTERNET_FLAG_NO_AUTO_REDIRECT|INTERNET_FLAG_HYPERLINK);rn HttpSendRequestEx(hRequest, &ib, 0, HSR_INITIATE, 0);rn Sleep(2000);rn char buffer[6000]=0;rn DWORD dwRead;rn DWORD err;rn fseek(fp,offset,SEEK_SET);rn int tempoffset=0;rn while(1)rn rn Sleep(sleeploadfile);rn if (loadstop==false)rn rn fclose(fp);rn InternetCloseHandle(hRequest);rn InternetCloseHandle(hConnection);rn InternetCloseHandle(hInternet);rn return 0;rn rn memset(buffer,0,6000);rn tempoffset=ftell(fp);rn if ((filelen-tempoffset)==0)rn rn break;rn rn elsern if ((filelen-tempoffset));rn InternetCloseHandle(hRequest);rn InternetCloseHandle(hConnection);rn InternetCloseHandle(hInternet);rn return 0;rn[/code]
c# socket编程 accept经常阻塞如何设置超时
我的ftp客户端,用了多线程,可以同时登陆多个站点,并上传下载资料文档,遇到主动式的服务器时,就要我的客户端开一个端口,等待服务器来连接我。但下载遇到了这样的问题:多数时候是没有问题的,但偶尔会<em>阻塞</em>在accept函数这里,搞得我这样一个线程就“死”了,啥也干不了,很是苦恼,请各位帮忙!
perl中调用recv函数阻塞如何设置超时??急!
next unless accept(CLIENT, SERVER); rnCLIENT->autoflush(1); rn# 我想让客户端来关闭连接,而不是服务端主动关闭!rnwhile (1)rnrn # 获取客户端发送的消息(以$符号结束) ...rn $cmd = "";rn while (1)rn rn recv(CLIENT, $c, 1, 0) or die "recv() failed: $!";rn last if ($c eq "\$"); rn $cmd .= $c;rn rn print "Client Send:$cmd\n";rnrnrn以上程序在客户端不关闭连接的时候可以不断接收客户端消息,但是客户端断开连接时,服务器端却不知道,<em>阻塞</em>在recv函数,如果能<em>设置</em>recv接收数据的时限,超过这个时限返回错误就可以执行die了!rn
urllib.urlopen如何设置超时
我用 python 的urllib库来下载网页 怎么<em>设置</em><em>超时</em>呢 连接了好长时间都没反应, 然后才报出错误来rn怎么才能我自己设定一个时间 如果连接一直打不开, 我想设定10秒钟 10秒钟过后还打不开的话 那么退出rnrn代码如下:rnrn[code=Python]rnimport urllibrnif __name__ == '__main__':rn url = 'https://login.sina.com.cn/cgi/register/reg_sso.php'rn urllib.urlopen(url) //在这里就挂死了 然后过好长时间才报出异常 我想设定个时间 10秒钟如果还没开始下载 那么退出程序 该怎么做呢 多谢rn[/code]
XMLHTTP 如何设置超时
RTrnrn有人说用MSXML2.ServerXMLHTTP可以<em>设置</em><em>超时</em>,可是根本无法创建这个对象,如果想用这个该装什么,奇怪了msxml6.0 难道还不行
CSocket如何设置超时
服务端调用Accept()后就挂在那边了,能否设个时间,比如2秒钟后返回,不管成功失败
QTcpSocket如何设置超时
如题,QTcpSocket调用connectToHost()方法的时候默认的<em>超时</em>时间好像是30秒,这个时间<em>如何</em><em>设置</em>短一些呢?
查询超时如何设置
我用下面的方法查询数据,当查询时间超过40秒时就出现异常,请问有什么办法解决rnrn//数据库查询方法,参数strSQL为SQL语句,dbconnectionstring为连接数据库字符串,返回DataSet数据集rnpublic DataSet SelDB(string strSQL,string dbconnectionstring)rnrn OleDbConnection sqlConn=new OleDbConnection(dbconnectionstring);rn OleDbDataAdapter sqlDtApt;rn DataSet ds=new DataSet();rn tryrn rn sqlConn.Open();rn sqlDtApt = new OleDbDataAdapter(strSQL,sqlConn); rn sqlDtApt.Fill(ds);rn sqlConn.Close();rn rn catch(OleDbException e)rn rn MessageBox.Show(e.Message.ToString());rn rn return ds ;rnrn
winsock如何设置超时
我有了一个端口检测程序如下 rnrnfunction TProxyTest.ConnectToServer(TestAddress,TestPORT:String):Boolean; rnvar rn rc : integer; rn sa : TSockAddr; rnbegin rn // Startup WinSock rn Result:=false; rn FillChar(sa, sizeof(sa), 0); rn sa.sin_family := AF_INET; rn sa.sin_port := htons(StrToInt(TestPORT)); rn sa.sin_addr.S_addr := inet_addr(PChar(TestAddress)); rn DataSock := socket(AF_INET, SOCK_STREAM, 0); rn SetOutTime(DataSock,1000); //<em>超时</em>设为1秒 rn rc := connect(DataSock, sa, sizeof(sa)); rn if rc<>0 then Exit; rn Result:=True; rnend; rnrnprocedure TProxyTest.SetOutTime(Sock: TSocket;Timeout:Integer); rnvar rn TimeVal: TTimeVal; rnbegin rn TimeVal.tv_sec := Timeout div 1000; rn TimeVal.tv_usec := (Timeout mod 1000) * 1000; rn setsockopt(Sock, SOL_SOCKET,SO_RCVTIMEO, @TimeVal,sizeof(TimeVal)); rn setsockopt(Sock, SOL_SOCKET,SO_SNDTIMEO, @TimeVal,sizeof(TimeVal)); rnend; rnrn运行发现<em>设置</em><em>超时</em>没有起作用,查询WINSOCK的HELP有如下一段: rnrnBSD options not supported for setsockopt are: rnrnValue Type Meaning rnSO_ACCEPTCONN BOOL Socket is listening rnSO_RCVLOWAT int Receive low water mark rnSO_RCVTIMEO int Receive time-out rnSO_SNDLOWAT int Send low water mark rnSO_SNDTIMEO int Send time-out rnSO_TYPE int Type of the socket rnrnwinsock不支持<em>超时</em><em>设置</em>,不知有没有其他办法.rn最好不要在起线程监控.
打印机如何设置超时
POS打印机,需要直接对打印端口进行操作。rn当打印机联机时,没有问题,但是一旦没有联机,程序就没有相应。rn原来,缺省的时间时5分钟(GetCommTimeouts)。rn使用SetCommTimeouts<em>设置</em>LPT总返回0(错误),<em>设置</em>COM没有问题。rn运行环境是windows 2000。rn请教<em>如何</em><em>设置</em><em>超时</em>或着还有什么其他方法解决检测是否联机。rnrn下面是载网上找到的程序。rn-----------------------rn bool LptPrint(char prtdata[],int prtlen,int timeout) rn rn HANDLE h; rn DWORD n; rn COMMTIMEOUTS t; rn bool result; rn h = CreateFile("LPT1", GENERIC_READ|GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, 0); rn if (h == INVALID_HANDLE_VALUE) rn AfxMessageBox("Can not open lpt1"); rn return false; rn rn t.ReadIntervalTimeout = 0; rn t.ReadTotalTimeoutMultiplier = 0; rn t.ReadTotalTimeoutConstant = 0; rn t.WriteTotalTimeoutMultiplier = timeout * 1000 / prtlen; rn t.WriteTotalTimeoutConstant = 0; rn if (!SetCommTimeouts(h,&t)) rn //这里,总是不成功。但是如果将LPT1改成COM1,就可以<em>设置</em>。rn AfxMessageBox("SetCommTimeout error"); rn return false; rn rn result = true; rn if (!WriteFile(h,prtdata,prtlen,&n,NULL)) rn AfxMessageBox("Print error"); rn result = false; rn rn CloseHandle(h); rn return result; rn rnrn下面是VB调用API的程序,也是一样rn-------------------------------rnPublic Declare Function GetCommTimeouts Lib "kernel32" (ByVal hFile As Long, lpCommTimeouts As COMMTIMEOUTS) As LongrnPublic Declare Function SetCommTimeouts Lib "kernel32" (ByVal hFile As Long, lpCommTimeouts As COMMTIMEOUTS) As LongrnPublic Declare Function CreateFile Lib "kernel32" Alias "CreateFileA" (ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, lpSecurityAttributes As SECURITY_ATTRIBUTES, ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long) As LongrnPublic Declare Function WriteFile Lib "kernel32" (ByVal hFile As Long, lpBuffer As Any, ByVal nNumberOfBytesToWrite As Long, lpNumberOfBytesWritten As Long, lpOverlapped As OVERLAPPED) As LongrnPublic Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As LongrnrnPublic Const OPEN_EXISTING = 3rnPublic Const GENERIC_READ = &H80000000rnPublic Const GENERIC_WRITE = &H40000000rnPublic Const FILE_FLAG_OVERLAPPED = &H40000000rnPublic Type OVERLAPPEDrn Internal As Longrn InternalHigh As Longrn offset As Longrn OffsetHigh As Longrn hEvent As LongrnEnd TypernPublic Type SECURITY_ATTRIBUTESrn nLength As Longrn lpSecurityDescriptor As Longrn bInheritHandle As LongrnEnd TypernPublic Type COMMTIMEOUTSrn ReadIntervalTimeout As Longrn ReadTotalTimeoutMultiplier As Longrn ReadTotalTimeoutConstant As Longrn WriteTotalTimeoutMultiplier As Longrn WriteTotalTimeoutConstant As LongrnEnd TypernrnPublic Sub Test()rnDim str_tmp As String * 1024rnDim xATTR As SECURITY_ATTRIBUTESrnDim nTime As COMMTIMEOUTSrnDim lng_hdc As Long, i As LongrnDim lngPrn As Longrnrn lng_hdc = CreateFile("LPT1", GENERIC_READ + GENERIC_WRITE, 0, xATTR, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, 0)rn If lng_hdc = -1 Thenrn '错误rn Debug.Print "Err."rn Exit Subrn End Ifrn Debug.Print "lng_hdc=" & lng_hdcrn nTime.ReadIntervalTimeout = 0rn nTime.ReadTotalTimeoutConstant = 0rn nTime.ReadTotalTimeoutMultiplier = 0rn nTime.WriteTotalTimeoutConstant = 10rn nTime.WriteTotalTimeoutMultiplier = 10rn rn Debug.Print "SetCommTimeouts=" & SetCommTimeouts(lng_hdc, nTime)rn rn Debug.Print "GetCommTimeouts=" & GetCommTimeouts(lng_hdc, nTime)rn rn Debug.Print "nTime.WriteTotalTimeoutConstant=" & nTime.WriteTotalTimeoutConstantrn Debug.Print "nTime.WriteTotalTimeoutMultiplier=" & nTime.WriteTotalTimeoutMultiplierrn rn str_tmp = Chr(27) + "!" + Chr(16)rnrn Debug.Print "CloseHandle(lng_hdc)=" & CloseHandle(lng_hdc)rnEnd Subrnrnrn
如何设置线程的超时
有一个方法比较耗时,需要后台线程来执行,但又不希望这个方法执行时间过长,希望能设定一个<em>超时</em>时间,当到达<em>超时</em>时间时这个方法还没执行完,就强行终止线程,请问<em>如何</em>实现
如何设置connect超时
代码如下:rnrn[code=C/C++]// 装入Winsock然后连接服务器rn__declspec (dllexport) int LoadWinsockM(HWND hWnd,char *szIP,HWND m_child_wnd)rnrn WSADATA wsd;rn DWORD dwLen;rn int nRet,nZero;rn LPBYTE pBuf;rn WSAPROTOCOL_INFO Protocol;rn char szMessage[81];rn if (WSAStartup(0x202,&wsd) != 0)rn rn MessageBox(NULL,"hehe","Client Socket Error",MB_OK);rn return 0;rn rn dwLen = 0;rn nRet = WSAEnumProtocols(NULL,NULL,&dwLen);rn if (nRet == SOCKET_ERROR)rn rn if (WSAGetLastError() != WSAENOBUFS)rn return 0;rn rn pBuf = malloc(dwLen);rn nRet = SelectProtocols(SETFLAGS,NOTSETFLAGS,(LPWSAPROTOCOL_INFO)pBuf,&dwLen,&Protocol);rn free(pBuf);rn m_data[m_index].sClient = WSASocket(AF_INET,SOCK_STREAM,IPPROTO_IP,NULL,0,SOCK_STREAM);rn if (m_data[m_index].sClient == INVALID_SOCKET)rn return 1;rn nZero = 0;rn setsockopt(m_data[m_index].sClient,SOL_SOCKET,SO_RCVBUF,(char *)&nZero,sizeof(nZero));rn m_data[m_index].server.sin_family = AF_INET;rn m_data[m_index].server.sin_port = htons(m_data[m_index].port);rn m_data[m_index].server.sin_addr.s_addr = inet_addr(szIP);rnrn if (connect(m_data[m_index].sClient,(struct sockaddr *)&m_data[m_index].server,sizeof(m_data[m_index].server)) == SOCKET_ERROR)rn rn int i=GetLastError();rn return 0;rn rnrn GetResolution();rn SetGrids(hWnd);rnrn memset(szMessage,'\0',sizeof(szMessage));rn sprintf(szMessage,"WM_COMP;%d;0;0;0;\0",10);rn SendCommandM(hWnd,1,szMessage,NULL);rnrn UpdateRegionalScreen(hWnd,m_data[m_index].sClient,TRUE,m_child_wnd);rnrn return m_data[m_index].sClient;rnrn[/code]rnrn其中rn if (connect(m_data[m_index].sClient,(struct sockaddr *)&m_data[m_index].server,sizeof(m_data[m_index].server)) == SOCKET_ERROR)rn这一句,如果要链接的机子关机了,也就是说是个无效IP,这个地方会一直等下去,直到windows认为连不上了为止,rnrn我要问的就是,能不能在这之前<em>设置</em>一下<em>超时</em>呢?rn我想超过5秒就不让他等了,让它运行下面的代码,怎么<em>设置</em>这个时间呢?用什么API?rn
如何设置超时
请各位高手救命啊,现在我遇到了接收<em>超时</em>,但我不知道怎样<em>设置</em>使它有效。
如何设置JMS的超时
请问我用如下的方式向ActiveMQ发送消息,当ActiveMQ服务器宕机时候,下面的代码中的两处(我已经标注)将会<em>阻塞</em>住,而我的主程序中还要干别的事情,不能因为JMS消息发不出去就<em>阻塞</em>了,所以请问各位,有什么方法让它不<em>阻塞</em>,或者<em>设置</em>一个<em>超时</em>时间,时间到了,就退出。再或者,让它<em>抛出</em>一个异常也可以。rnrn我搜了很久没有找到解决方法:(rnrn[code=Java]rnimport javax.jms.Connection;rnimport javax.jms.DeliveryMode;rnimport javax.jms.JMSException;rnimport javax.jms.MessageProducer;rnimport javax.jms.Session;rnimport javax.jms.*;rnrnimport org.apache.activemq.ActiveMQConnectionFactory;rnrnpublic class MyJMSSender rn private Connection connection = null;rn private Session session = null;rn private MessageProducer producer = null;rnrn private void initialize() throws JMSException, Exception rn ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(rn Config.user, Config.password, Config.url);rn // 这里会<em>阻塞</em>住,如果服务器宕了rn connection = connectionFactory.createConnection();rn session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);rn Topic topic = session.createTopic(Config.topic);rn producer = session.createProducer(topic);rn producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);rn rnrn public void produceMessage(String message) throws JMSException, Exception rn // initialize();rn TextMessage msg = session.createTextMessage(message);rnrn connection.start();rn System.out.println("Producer:->Sending message: " + message);rn rn // 这里会<em>阻塞</em>住,如果服务器宕了rn producer.send(msg);rn System.out.println("Producer:->Message sent complete!");rn rnrn public void close() throws JMSException rn System.out.println("Producer:->Closing connection");rn if (producer != null)rn producer.close();rn if (session != null)rn session.close();rn if (connection != null)rn connection.close();rn rnrn[/code]
如何设置超时处理?
我用winsocket 写了一个服务器测试程序,请问<em>如何</em>为这个程序<em>设置</em>一个<em>超时</em>器,比如再recv 时候,如果在设定时间内没有取到任何数据,则就返回,而不必一直<em>阻塞</em>。
::如何设置超时?::
在ASP中可以用Server.ScriptTimeOut=999999rnrn在.NET中该<em>如何</em><em>设置</em>啊?
如何设置SESSION的超时
WSAD511IE的版本,WINDOWS2000PRO;不是在WAS下,没有管理控制台。rn我在web.xml中添加...200...好像无效。rn求教!!只有10分了。
阻塞的socket如何进行超时重传?
如果协议是发送一条消息然后等待一条消息,用的是<em>阻塞</em>的recv()调用,如果定期内对方没有应答,该<em>如何</em>改变进程的<em>阻塞</em>状态?使其进入错误处理?
如何设置sokcet超时
代码运行到new Socket("...",...);停了很久,然后就报<em>超时</em>错误了。主机的IP是可以ping通的。rnjava.net.ConnectException: Connection timed out: connectrn at java.net.PlainSocketImpl.socketConnect(Native Method)rn at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:305)rn at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:171)rn at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:158)rn at java.net.Socket.connect(Socket.java:464)rn at java.net.Socket.connect(Socket.java:414)rn at java.net.Socket.(Socket.java:310)rn at java.net.Socket.(Socket.java:125)rn at cmpp.Testapp.Run(Testapp.java:38)rn at cmpp.Testapp.main(Testapp.java:69)rn
如何设置FIN_WAIT_2的超时
-
Remoting如何设置超时
如果是远程服务器,会超慢,如果<em>设置</em><em>超时</em>
如何解决Connect超时导致的阻塞问题
这几天发现一个现象,客户端正常连接服务器connect显然不会出现问题。         在异常情况下,如果是服务器出现异常,connect能够立即返回失败;但是当客户端出现异常的情况下,分为两种情况:         一种是不插网线,客户端没有获得ip地址,在这种情况下,connect也可以立即返回错误;         二是但是当客户端插上网线,但是连接网络失败,也就是说能够获取到ip地
阻塞函数的超时问题应该如何判断?
在Unix下,假如有<em>阻塞</em>函数Build_RECEIVE_ALLOCATE,<em>如何</em>在特定的时间没有响应,就继续往下走?我原来的想法是通过线程,在线程里调用Build_RECEIVE_ALLOCATE函数,如果一定时间里没有响应,就在主线程里调用WaitForObject来取消线程,以达到<em>超时</em>的目的。rn但是发现这样只有第一次成功,后面的都很难成功,不知道怎么回事?还是有其他什么办法?rn主要的2个函数如下:rnrnvoid TRecvThread::ExecuteThread()rnrn int i = 0 ;rn Build_RECEIVE_ALLOCATE();rn i ++ ;rn cout << i << endl;rnrnrnvoid TRecvThread::WaitForObject()rnrn void *ret;rn pthread_cancel(pt);rn printf("cancel成功\n");rn pthread_join(pt, &ret);rn printf("join成功\n");rnrn
网络通讯开发 超时阻塞套接字发送
咨询QQ: 347181469. 本课程适合中,从事音视频,网络通讯开发的学员。实战案例可用于 音视频处理,无人机,安防,直播等所有音视频领域。课程从Linux音视频采集,到TCP/IP UDP Socket服务器,客户端编程, <em>如何</em>去定义网络通讯私有协议,x264,FFmpeg编解码,OpenGL ES渲染视频。OpenAL播放音频。到pcm实时转AAC,到H.264+AAC合成mp4. 整个过程,涵盖iOS,Android ,Mac 嵌入式Linux音视频相关绝大多数实用场景。以及Posix编程接口,C C++ Qt,FFmpeg跨平台开发,iOS,Android,Mac,linux,桌面软件都不再是障碍。让学员能够,融汇贯通掌握音视频领域相关知识,从事音视频相关职业,年薪轻松三四十万不是梦。 付费学员加入QQ群,可获得1~3年的专业解答,周六晚8:00 ~10:00 QQ群内部直播答疑, 以及就业指导,项目练习等服务.rn
防止阻塞用锁超时?
在防止<em>阻塞</em>的原则中,有一条是:[color=#FF0000]用查询和锁<em>超时</em>,一旦是<em>超时</em>的话就要捕获错误信息,然后rollback事务.[/color]rn问题:rn1,捕获错误信息是用[color=#FF0000]sql捕获[/color]还是用[color=#FF0000]vb或c#这类编程语言捕获[/color]?rn 如果是用sql的话,请给一段代码.rn2,假如是一个类似网站的应用系统,许多注册会员同时在线,rn [color=#FF0000]什么样的事务要用到锁<em>超时</em>?[/color]rn[b]另外给一些预防<em>阻塞</em>的建议和方法好吗?[/b][color=#0000FF][/color]
直接抛出SQLException和直接抛出Exception的区别是什么?
nn```n throws ClassNotFoundException, SQLException, FileNotFoundException, IOException n```nnnn```n throws Exception n```nn
网络通讯开发 超时阻塞套接字接收
咨询QQ: 347181469. 本课程适合中,从事音视频,网络通讯开发的学员。实战案例可用于 音视频处理,无人机,安防,直播等所有音视频领域。课程从Linux音视频采集,到TCP/IP UDP Socket服务器,客户端编程, <em>如何</em>去定义网络通讯私有协议,x264,FFmpeg编解码,OpenGL ES渲染视频。OpenAL播放音频。到pcm实时转AAC,到H.264+AAC合成mp4. 整个过程,涵盖iOS,Android ,Mac 嵌入式Linux音视频相关绝大多数实用场景。以及Posix编程接口,C C++ Qt,FFmpeg跨平台开发,iOS,Android,Mac,linux,桌面软件都不再是障碍。让学员能够,融汇贯通掌握音视频领域相关知识,从事音视频相关职业,年薪轻松三四十万不是梦。 付费学员加入QQ群,可获得1~3年的专业解答,周六晚8:00 ~10:00 QQ群内部直播答疑, 以及就业指导,项目练习等服务.rn
java代码运行时间超时exception方法
final ExecutorService service = Executors.newSingleThreadExecutor(); Callable theCode = new Callable() { public String call() { } }; try { final Future future = service.submit (theCode);
sql2000重启都不能解除阻塞,我怎么办???
各位老大,怎么办。进程<em>阻塞</em>,重启机器都不能<em>解除</em>,kill也没用,怎么办????
获取throw new exception抛出异常信息的问题
我现在有很多页面有throw new <em>exception</em>("msg=暂无数据!&type=2")等类似的异常<em>抛出</em>,rn但我现在就是想把这个异常转化为Response.write(" ")rn弹出框的形式来显示;rnrn我要怎么去获取这个msg和type的内容呢?rnrn请问我要怎么实现???
JTextArea中用getText()方法,怎么抛出exception?
一个简单的程序:实现两个空JTextArea,向第一个中写入内容,在第二个中显示出来.rn编译没有错误,但是运行的时候,向第一个中写入数据后,按下button则会出现异常,异常的内容是NullPointerException,我的理解是认为没有内容输入,但是不知道其原因.请各位帮忙看看.谢谢.rnrn关键的就这么一段:rnrn public void actionPerformed(ActionEvent e) rn String s;rn s=t1.getText();//<em>exception</em>在这rn t2.append(s);rn rnrnrn全部代码如下://Beeper.javarnimport java.awt.*;rnimport javax.swing.*;rnimport java.awt.event.*;rnrnpublic class Beeper extends JPanelrn implements ActionListener rn JButton button;rn JTextArea t1;rn JTextArea t2;rnrn public Beeper() rn JTextArea t1=new JTextArea(5,10);rn t1.setEditable(true);rn JTextArea t2=new JTextArea(5,10);rn t2.setEditable(false);rn JButton b=new JButton("=>添加");rn b.addActionListener(this);rn add(t1);rn add(b);rn add(t2);rn rnrn public void actionPerformed(ActionEvent e) rn String s;rn t1.getText();rn System.out.println("aying3");//t2.append(s);rn rnrn /**rn * Create the GUI and show it. For thread safety,rn * this method should be invoked from thern * event-dispatching thread.rn */rn private static void createAndShowGUI() rn //Make sure we have nice window decorations.rn JFrame.setDefaultLookAndFeelDecorated(true);rnrn //Create and set up the window.rn JFrame frame = new JFrame("Beeper");rn frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);rnrn //Create and set up the content pane.rn JComponent newContentPane = new Beeper();rn newContentPane.setOpaque(true); //content panes must be opaquern frame.setContentPane(newContentPane);rnrn //Display the window.rn frame.pack();rn frame.setSize(500,200);rn frame.setVisible(true);rn rnrn public static void main(String[] args) rn //Schedule a job for the event-dispatching thread:rn //creating and showing this application's GUI.rn javax.swing.SwingUtilities.invokeLater(new Runnable() rn public void run() rn createAndShowGUI();rn rn );rn rn
高分求助:关于Exception抛出的问题
对于下面的语句:rntry rnrncatch(Exception e)rn
请问一个关于抛出exception的问题
请问怎样才能只改动一个地方就可以rn防止整个应用程序在运行时出现系统错误的信息。rnrn是不是在主窗体中加一个ApplicationEvents控件?rn该怎么用?需要实现什么函数或事件?
程序经常抛出Exception in thread "Timer-1" java.lang.NullPointerException
Exception in thread "Timer-1" java.lang.NullPointerExceptionrn at com.mchange.v2.log.log4j.Log4jMLog$Log4jMLogger.isLoggable(Log4jMLog.java:257)rn at com.mchange.v2.resourcepool.BasicResourcePool$CheckIdleResourcesTask.run(BasicResourcePool.java:1961)rn at java.util.TimerThread.mainLoop(Timer.java:512)rn at java.util.TimerThread.run(Timer.java:462)rnrnrn不知道线程有什么毛病,时不时就<em>抛出</em>这个异常,有时候debug的时候<em>抛出</em>,然后debug就终止了,向大神求助啊~
Hibernate抛出的Exception in thread "main" java.lang.NoSuchMethodError
我的hql语句如下:rn[code=Java]rnString queryString = "select w.*,u.unitsName,s.sectorName,st.statusName from WorkersInfo w,UnitsInfo u,SectorInfo s,StatusInfo st where w.unitsId = u.unitsCode and w.sectorId = s.sectorCode and w.statusInfo.statusId = st.statusId";rn[/code]rn执行该hql语句的程序如下:rn[code=Java]rnQuery queryObject = session.createQuery(queryString);rnqueryObject.setFirstResult(pageBean.getFirstRow());rnqueryObject.setMaxResults(pageBean.getMaxSize());rnreturn queryObject.list();rn[/code]rn结果<em>抛出</em>了如下异常:rn[code=Java]rnException in thread "main" java.lang.NoSuchMethodError: org.hibernate.hql.antlr.HqlBaseParser.recover(Lantlr/RecognitionException;Lantlr/collections/impl/BitSet;)Vrn at org.hibernate.hql.antlr.HqlBaseParser.atom(HqlBaseParser.java:3533)rn at org.hibernate.hql.antlr.HqlBaseParser.unaryExpression(HqlBaseParser.java:3200)rn at org.hibernate.hql.antlr.HqlBaseParser.multiplyExpression(HqlBaseParser.java:3082)rn at org.hibernate.hql.antlr.HqlBaseParser.additiveExpression(HqlBaseParser.java:2802)rn at org.hibernate.hql.antlr.HqlBaseParser.concatenation(HqlBaseParser.java:570)rn at org.hibernate.hql.antlr.HqlBaseParser.relationalExpression(HqlBaseParser.java:2586)rn at org.hibernate.hql.antlr.HqlBaseParser.equalityExpression(HqlBaseParser.java:2449)rn at org.hibernate.hql.antlr.HqlBaseParser.negatedExpression(HqlBaseParser.java:2413)rn at org.hibernate.hql.antlr.HqlBaseParser.logicalAndExpression(HqlBaseParser.java:2331)rn at org.hibernate.hql.antlr.HqlBaseParser.logicalOrExpression(HqlBaseParser.java:2296)rn at org.hibernate.hql.antlr.HqlBaseParser.expression(HqlBaseParser.java:2082)rn at org.hibernate.hql.antlr.HqlBaseParser.aliasedExpression(HqlBaseParser.java:2249)rn at org.hibernate.hql.antlr.HqlBaseParser.selectedPropertiesList(HqlBaseParser.java:1455)rn at org.hibernate.hql.antlr.HqlBaseParser.selectClause(HqlBaseParser.java:1365)rn at org.hibernate.hql.antlr.HqlBaseParser.selectFrom(HqlBaseParser.java:1106)rn at org.hibernate.hql.antlr.HqlBaseParser.queryRule(HqlBaseParser.java:702)rn at org.hibernate.hql.antlr.HqlBaseParser.selectStatement(HqlBaseParser.java:296)rn at org.hibernate.hql.antlr.HqlBaseParser.statement(HqlBaseParser.java:159)rn at org.hibernate.hql.ast.QueryTranslatorImpl.parse(QueryTranslatorImpl.java:238)rn at org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:155)rn at org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:109)rn at org.hibernate.engine.query.HQLQueryPlan.(HQLQueryPlan.java:75)rn at org.hibernate.engine.query.HQLQueryPlan.(HQLQueryPlan.java:54)rn at org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:71)rn at org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:133)rn at org.hibernate.impl.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:112)rn at org.hibernate.impl.SessionImpl.createQuery(SessionImpl.java:1583)rn at org.qpyong.emp.dao.WorkersInfoDAO.findByPropertyForEmployee(WorkersInfoDAO.java:159)rn at org.qpyong.emp.dao.WorkersInfoDAO.main(WorkersInfoDAO.java:272)rn[/code]rn但是我执行rnselect count(*) from WorkersInfo w,UnitsInfo u,SectorInfo s,StatusInfo st where w.unitsId = u.unitsCode and w.sectorId = s.sectorCode and w.statusInfo.statusId = st.statusId这个语句却是正常的。rn有哪为高手指点指点下?
关于扩展Exception,实现自定义异常抛出...
我在写一个让第三方调我方数据库的接口,打算用类把数据库的操作封装好.rn我的业务层涉及到人员的增加与删除,比如增加一名人员我就向数据库Insert一条记录rn但第三方开发人员只能通过我的类方法来增加.rn这样有一个问题,如果在操作过程中产生异常,则系统<em>抛出</em>异常会让第三方人员看不懂.rn比如某某存储过程有错,某某表违反了主键约束.rn所以我又想在我的类中<em>抛出</em>让他们看得懂的异常,比如用"该名人员的编号已被占用"来代替违反了主键约束.rn所以自己扩展Exception类,并加了个自己定义的errorsNumber成员,该成员为自己定义的错误代码.rn这样我将开发文档给第三方时,同时附上一份将有可能被<em>抛出</em>的异常的字典.不知这样做可不可行,以下是字典和代码:rnrn字典:rn代码 Message 详细rn--------------------------rn101 该名人员的编号已被占用 该人员编号已在数据库中存在rn102 该名人员尚有任务在身,不能删除 要删除该人员请先删除所属该人员所有待执行的任务rnrn自定义异常类:rnclass MyException:System.Exceptionrn rn public MyException() : base() rn public MyException(string message):base(message)rn public MyException(string message,Exception innerException):base(message,innerException)rn public MyException(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context) : base(info, context) rn public MyException(string message,int errNumber) rn rn this.errorsNumber = errNumber;rn this.strMessage = message;rn rn rn public override string Messagern rn getrn rn if (strMessage == string.Empty)rn rn return base.Message;rn rn elsern rn return strMessage;rn rn rn rn private string strMessage=string.Empty;rn public int errorsNumber ;rn rnrn使用:rnprivate void button1_Click(object sender, EventArgs e)rn rn tryrn rn throw new MyException("该名人员的编号已被占用", 123);rn rn catch (MyException er) rn if (er.errorsNumber == 123) rn //处理rn rn rn rn rnrn
Java学习笔记61. 程序抛出的异常Exception
Java中的部分异常是由异常类在系统中事先定义好的,称为标准异常类。异常类由throwable异常类派生而来。throwable异常类有两个直接子类:Exception和ErrorError是与硬件相关的异常类,由系统自动处理,不需要开发者处理。Exception是程序中的异常,它也有两种情况:运行时异常和检查时异常。顾名思义,运行时异常是编译没问题,但是在运行时发生的异常; 而检查时异常是在编译...
JDBC的getString方法抛出Invalid cursor的exception
对于BLOB/CLOB字段调用getString的时候,<em>抛出</em>如题的异常,但当不对statement调用setFetchSize的时候,就没有问题, 怎么回事啊?rn有没有人知道?rn
运行Job.getInstance抛出Method threw 'java.lang.IllegalStateException' exception
这是异常Method threw 'java.lang.IllegalStateException' <em>exception</em>. Cannot evaluate org.apache.hadoop.mapreduce.Job.toString()各位大神帮帮忙
comet如何设置超时时间
<em>如何</em><em>设置</em>comet 长连接的时间限制,超过多少时间就在服务器端自动断开。?rn 或者是从客户端断开? 最好是从服务器端。
jsp页面如何设置超时时间?
搜了一下,好象没有特别针对JSP来讨论的,我要实现的功能是当页面1分钟还没有载入完毕时就显示页面连接<em>超时</em>,后台程序是用JavaBean写的socket通信,我知道在socket中<em>如何</em><em>设置</em><em>超时</em>时间,但这是后台的,<em>如何</em>在JSP页面上体现呢?或者有没有更好的办法直接针对一个页面<em>设置</em><em>超时</em>时间呢?谢谢!
msmq 如何设置超时时间?
我发了一个消息到queue里,过了一会,发现queue里面的消息没有了,我想知道<em>如何</em><em>设置</em>才能让消息的queue里呆的时间长些
如何设置TIdHTTP控件的超时
没有Timeout属性
如何设置网络操作超时
在连接服务器时,有时长时间连接不上,就一直<em>阻塞</em>在那里不动了,有时是接收数据时也会出现这种问题。rn我想用定时器来处理一下,比如连接<em>阻塞</em>超过20秒我就再连接一次,如果还不行就不连了,请问怎么处理?rn我的连接函数为ConnectServer(strIp,nPort);
如何设置用户操作超时
功能是当用户连续5分钟对页面无操作时,当用户再操作页面,就会让用户重新登录。rnrn现在用户信息是放cookie里面的,用yourCookie.Expires这个功能,好像是不论用户是否有操作,一到时都把cookie删了。rnrn请问<em>如何</em>实现?
请问如何设置accept超时
各位大虾,监听用的是<em>阻塞</em>socket,没有连接请求时accept就一直等待下去,rn现在我要accpet在一定时间内返回,<em>如何</em><em>设置</em>?谢谢各位高手帮忙解答一下。
如何设置socket超时的时间?
new socket到目的地时要很久才有反应,不知道怎么<em>设置</em>这个<em>超时</em>的时间?
在CSocket中如何设置超时
<em>如何</em><em>设置</em>连接,接收和发送<em>超时</em>
如何设置file_get_contants()超时时间
用flie_get_contents获得一个网页的内容,如果网速很慢或下载这个页面需要很长的时间,就会经常<em>超时</em>,发出[function.file-get-contents]: failed to open stream: HTTP request failed! 错误。即使<em>设置</em>php.ini中的执行<em>超时</em>或者在代码中加入set_limit_time函数延长<em>超时</em>时间也无济于事。Google一下,找到了...
如何设置Session 平滑超时
另 我的 页面是自动刷新的 ,都用到了Session。rnSession <em>超时</em>时间还是否顺延!
数字资源综合利用数字资源综合利用下载
好的资源,数字资源综合利用,数字资源综合利用,数字资源综合利用,数字资源综合利用。 相关下载链接:[url=//download.csdn.net/download/xz4938429/2552518?utm_source=bbsseo]//download.csdn.net/download/xz4938429/2552518?utm_source=bbsseo[/url]
Oracle数据库(课件)下载
包括 基本的SQL SELECT语句 限制和排序数据 单行函数 多表查询 组函数 子查询 数据操作 创建和维护表 约束 创建视图 其他数据库对象 控制用户访问 相关下载链接:[url=//download.csdn.net/download/zhb217/2604070?utm_source=bbsseo]//download.csdn.net/download/zhb217/2604070?utm_source=bbsseo[/url]
F-Secure SSH Client v5.4.56 破解版下载
远程登陆linux 进行ftp传输 最安全的软件 最小巧的软件 支持在各种windows环境下使用 包括win7 相关下载链接:[url=//download.csdn.net/download/Hooperweiwei/2973672?utm_source=bbsseo]//download.csdn.net/download/Hooperweiwei/2973672?utm_source=bbsseo[/url]
我们是很有底线的