TCP服务端 10038 错误 用Delphi2010 的Indy 做了一个服务端,和客户端通信正常,但是,有时候客户端关闭的时候,服务端会出现10038 错误,另外,若客户端只是连接上了服务端,而不发送数据,或者发送很少的数据,服务端很少出现10038错误,若发的数据较多,则在客户端断开的时候,会提示10038错误.10038的错误的提示是程序调试的时候出现的,单独执行服务端,不出现。请问有什么影响吗?如何解决错误? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 10038的错误是“在一个非套接字上面尝试了一个操作”是不是你的indy的断开处理和收发数据是异步的原因。 fang098 说得对。发送数据是由一个单独线程操作。如果数据比较多,还没发完你就把连接断开,就会出现这样的错误。这里应该有个 Mutex 互斥对象来实现同步。断开连接之前调用 wait 函数等在那里,直到 Mutex 被释放才能继续。Mutex 的释放由发送线程来执行。 橡皮擦的效果 indy10.5.5使用IdTCPServer接收中文消息显示乱码,请帮忙 蛙蛙推荐:蛙蛙Delphi学习经验(第一版) ado+SQLSERVER操作一个15万多记录的表时,连接失败?? 加入软件开发交流群,QQ群号为1307512!!! 怎么获取DBGrid中一列中的最大值? ADOQuery插入数据的问题 这个代码有错吗? 关于如何建立多播组? 关于右键菜单的问题 虚拟机中是不是取不到硬盘序列号? sendmessage用不了
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货