W www Unregistered / Unconfirmed GUEST, unregistred user! 2000-06-03 #1 我最近写了一段winsocket通信的程序,可是经常出现 asynchronous socket error 10054的错误,请问为什么会出现这样的 提示呢??怎样解决?? 急!
X xman Unregistered / Unconfirmed GUEST, unregistred user! 2000-06-04 #4 不知是在哪一端报错?serversocket应该在onclientdisconnect中 加入serversocket.socket.connections[x].close; cliectsocket应该在onerror中加入 showmessage('Error connecting to : ' + Server); ErrorCode := 0;
不知是在哪一端报错?serversocket应该在onclientdisconnect中 加入serversocket.socket.connections[x].close; cliectsocket应该在onerror中加入 showmessage('Error connecting to : ' + Server); ErrorCode := 0;
H hl-zhw Unregistered / Unconfirmed GUEST, unregistred user! 2000-06-06 #5 该错误,是系统告诉你缓冲区将满,是你发送得太快,因此,你在发送时,应该检查是套接字可读,若可写,再发送,以免数据丢失。 检查套接字可写的函数如下 : bool checksocketwriteable(int sockethandle,int checktimes) { //checktimes is millseconds. fd_set fdset; struct timeval tv; tv.tv_sec=(checktimes /1000); tv.tv_usec=(checktimes %1000); FD_ZERO(&fdset); FD_SET(sockethandle,&fdset); if (select(sockethandle+1,NULL,&fdset,NULL,&tv)>0) return true; else return false; } 如果你觉得可以的话,请不要忘了加分。
该错误,是系统告诉你缓冲区将满,是你发送得太快,因此,你在发送时,应该检查是套接字可读,若可写,再发送,以免数据丢失。 检查套接字可写的函数如下 : bool checksocketwriteable(int sockethandle,int checktimes) { //checktimes is millseconds. fd_set fdset; struct timeval tv; tv.tv_sec=(checktimes /1000); tv.tv_usec=(checktimes %1000); FD_ZERO(&fdset); FD_SET(sockethandle,&fdset); if (select(sockethandle+1,NULL,&fdset,NULL,&tv)>0) return true; else return false; } 如果你觉得可以的话,请不要忘了加分。