Board logo

标题: 网络通讯开发问题 [打印本页]

作者: qunce     时间: 2007-9-9 16:38    标题: 网络通讯开发问题

本人的程序在DOS 6.22环境下运行,需要用UDP协议和上位机通信,但没有这方面的经验.请各位高手指点:
1.如何驱动,配置网卡;
2.如何应用borland c++/ socket.h建立和网卡的联系;
作者: firstsail     时间: 2007-9-9 17:22
有三种途径解决

一是利用Wattcp的TCP/IP协议栈,使用“Packet Driver”网卡驱动,功能强大,但难度大,没有中文文档,接口与Windows的Socket有些不尽相同。 数据包被放在常规内存中。


二是利用WinSail的TCP/IP协议栈,使用“Packet Driver”网卡驱动,功能较弱,但有中文文档,接口基本与Windows的Socket兼容,方便从Windows的客户端移植代码过来。 数据包被放在扩展内存中,不占用常规内存。

三是利用Microsoft Client 3.0l的TCP/IP协议栈,使用“NDIS2”网卡驱动,功能最强大,要想用它写出自己的应用程序,那可能要打越洋电话给世界首富---“微软”的盖茨才行。


以上三种TCP/IP协议栈,如果您需要强大的TCP/IP支持,那就选择Wattcp,占用内存大;如果只是利用UDP传送数据,建议使用WinSail,占用内存小。选用Microsoft  Client是下下策!


DOS下的网卡驱动一般有两种形式,一种是“NDIS2”形式,是微软公司推出的,只能在“Config.Sys”文件中加载,不能卸载。另一种形式是“Packet Drvier”形式,由“xxxxx”公司推出的,在DOS命令行中加载,可卸载。由于现在新的网卡基本上没有“Packet Driver”驱动,但NDIS2驱动可以转成Packet Driver驱动,关于这方面的转换,您可以浏览其它的贴子获得。

[ Last edited by firstsail on 2007-9-9 at 07:49 PM ]
作者: qunce     时间: 2007-9-9 21:29
firstsail:
谢谢你的指点,我是做工控的,多年以前接触过DOS编程,现在几乎忘光了.而且有这方面经验的人太少了.
没想到这个论坛有很多高手.您的回复对我很有价值,我会根据您提供的思路做一些实验.我在西安工作,您来西安我请你吃羊肉泡.我的邮箱:quance@vip.sina.com
作者: BA_WANG_MAO     时间: 2007-9-12 16:04
网上有很多针对单片机开发的TCP/IP协议栈,你可以参考一下,源代码完全开放,当然了不可能支持TCP/IP所有的功能(仅仅支持ARP、ICMP、TCP、IP、UDP、HTTP、数据链路层协议),最后要想实现MSDOS下的网络通讯还需要编写物理层协议即编写RTL8139网卡驱动程序。
  注:网上有大量针对单片机的RTL8019AS网卡驱动程序源代码可供参考。
作者: qunce     时间: 2007-9-13 14:07
BA_WANG_MAO网友:
谢谢你的指点,我的程序用UDP就足够了.