问题描述
- 如何用重写TCP协议,或者修改ws2_32.dll文件
-
做通信专业本科毕业设计,老师希望建立卫星通信的仿真演示系统。其中比较重要的是进行不同传输协议的比较。由于空间环境不能使用地面TCP,要改用空间TCP或其他传输协议。可能是要修改电脑的网络传输相关的库文件,根本不会!求救!!另外,前期利用MFC完成了大部分的演示工作。
解决方案
可以使用raw socket
http://blog.csdn.net/kzm2008/article/details/5372834
解决方案二:
建议你去问一下老师,可能是你理解错了。
只是模拟,模拟是基础可能是 TCP,UDP 或其它的 Socket 通讯。
改用电脑上的网络协议,基本上是不可能的。你也知道在空间环境下不能使用 TCP,那么在地面就只能使用 TCP(当然这样的说法不准确的)。
解决方案三:
不懂什么是空间tcp,wfc也是tcp实现
解决方案四:
晕死了,什么时候出了个空间TCP?这个TCP什么时候有无线传输不能使用的说法了?
估计你们老师不可能让你一本科毕业设计搞一个新的通信协议之类的,也根本不需要,估计是让你描述一下卫星和地面通信的模型,和需要用到的相关技术
地面和卫星通信其实就是无线通讯,用的设备不一样,通信协议可以一样,只是为了安全的话要对原始数据进行一些加密,这个和通信协议无关
你想想一下就是把一个无线路由器弄得十分厉害,可以把信号传输到太空,并能接收太空传回来的信号,就这么回事,有一点需要考虑的是通信的可靠性,因此你要考虑长连接的话不太可靠,使用UDP协议比较的好
要点在于强大的无线设备和电脑之间的连接,协议用UDP,每过多少秒压缩传输一次数据,为了可靠,卫星接收到数据后要返回一次接收成功信号,为了安全,要使用压缩或加密算法对传输的数据进行加密
解决方案五:
用UDP协议,非常适合太空环境,对数据进行压缩,然后用UDP传输,效果更好
解决方案六:
你的这个就用UDP协议,妥妥的,根本不需要搞什么么原始套接字,TCP协议的话不适合,原始套接字的话抗干扰能力差些,比如如果有人用和你相同的频率疯狂随机发送数据包的话,你严格按照协议的话,你的卫星会进行一些额外的校验,直到不能确定是发给自己的,这个时候按照协议,原始套接字是要发一个回馈给数据源主机的,这不是麻烦了么?人家随便发点什么你就会一个信号,暴露卫星的位置啊
解决方案七:
如果不能用tcp,那么是否可以用ip协议。
自己做tcp协议的事情。重组包。主要就是定义协议格式
包头,包长度,包数据。然后加上校验位
包的重发。