在DOS下用PC/TCP创建两个TCP的sock连接到其他两个机器,出现死机是什么原因?
小生在DOS下用PC/TCP协议编写网络程序,连接两个WINDOWS 2000的服务器程序,采用TCP协议。
WINDOWS下采用CSOCK创建SOCK对象进行LISTEN,DOS下的程序是客户端,创建了两个SOCK对象,分别是SOCK1和SOCK2,客户端主动CONNECT,连接上之后开始send和recv,一切正常,收发都没有问题,也不丢帧。但是运行一段时间后(大约10个小时),DOS程序就死掉了。 好多次都是如此,死掉的时间时长时断,令我十分郁闷!
我在DOS下的开发环境时BC31,使用TD进行调试后,发现程序最后进入了一个死循环,具体的代码如下:
03DF:00D0 5B 07 26 8B 17 8B 46 06 07 59 5B 5D CA 04 00 8B
Unhandle exception 0D at 03DF:00D8,ERROR CODE 0DFC
汇编代码为
CS:0C94 cmp byte ptr[029e],00
CS:0c99 jg 0c94
然后就是死循环,CS的地址是03DF
我用的网卡是3COM ETHERNET III ISA!
我尝试过只创建一个SOCK,经测试正常运行了10多天没死机,但是两个SOCK不到一天就死机,如果用UDP协议也是从不死机,哪位大侠以前遇到过这种情况,帮忙解决一下? 要多少分有多少分!