社区
网络编程
帖子详情
可能是比较弱的问题,但确实需要大家帮助
northwolves
2006-06-27 08:58:55
两台跨网电脑间电脑A(操作系统WIN98)向电脑B(操作系统WIN2000), 突破网关和防火墙采用TCP协议发送文件,电脑A考虑使用超级终端,无论何时,只要在线,电脑B都能接收到文件并保存到指定文件夹并提示,电脑B如何写代码? WINSOCK 用得不多,紧急请大家帮助,多谢!
...全文
474
24
打赏
收藏
可能是比较弱的问题,但确实需要大家帮助
两台跨网电脑间电脑A(操作系统WIN98)向电脑B(操作系统WIN2000), 突破网关和防火墙采用TCP协议发送文件,电脑A考虑使用超级终端,无论何时,只要在线,电脑B都能接收到文件并保存到指定文件夹并提示,电脑B如何写代码? WINSOCK 用得不多,紧急请大家帮助,多谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
24 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
熊孩子开学喽
2006-08-21
打赏
举报
回复
to楼上
看楼主的题意,应该是有公网地址的,否则一般没有人会在内网架设防火墙的。
分析一下,这个问题总归要有一个固定不变的IP才能解决。如果不是A也不是B,那么就只能依靠第三方了。
比如楼主开设一个什么网络硬盘的,然后A负责往上面扔东西,B负责从上面拿东西。
pigsanddogs
2006-08-06
打赏
举报
回复
vpn是很方便但需要b的网关或者a的网关是个公网ip,而且楼住能操纵并且在上面架设一个ras server.
没条件则用不了了
ps:其实vpn也不过是个通过第3方(ras server)建立tcp通信的方式而已,不过是对用户透明.
系统自动建立的.
VirtualDesktop
2006-08-05
打赏
举报
回复
恩~其实开vpn的方法不错~
我啃
2006-08-05
打赏
举报
回复
300分啊先DING再JF
熊孩子开学喽
2006-08-05
打赏
举报
回复
举个例子给楼主:
比如假设B端内部网段为192.168.1.0,外部地址为:203.99.3.11 IP为192.168.1.222
在B处防火墙上开设一个VPN地址池为192.168.1.230---240
那么只要在A上建立一个VPN拨号(就在新建电话拨号的地方,选择VPN拨号就可以)
拨号目标地址为203.99.3.11 , VPN拨号成功之后电脑A就可以得到192.168.1.230---240中的人和一个地址(从小到到,如果已经有别的机器拨入这个VPN,那么就会得到之后的一个地址)
此时,从应用层上,电脑A和B已经在同一个网段中了,也就可以直接相互通讯了.
熊孩子开学喽
2006-08-05
打赏
举报
回复
考虑到B端有防火墙,最简单的方法就是建立一个VPN,无论是编程上还是实际操作上都是最简单最常用的方法,甚至不用对TCP编程,只需要按照内部网络拷贝文件的方法就可以进行文件的发送,两台电脑的通讯甚至可以直接用DOS命令: net send来进行.
VPN就专门用来在防火墙上开通道的,为何舍近求远呢?
pigsanddogs
2006-08-04
打赏
举报
回复
如果都在NAT下面, 是不能建立tcp连接的.
nat协议规定了不能建立反响连接. 除非在路由上做了nat port mapping
udp是可以穿透nat的, 但是有个前提, 就是他们通信必须第一次都发给一个server
server变能知道2个client经过nat后映射的port.
然后通告2个client, 对方隐射后的port, ip分别是什么. 既此可通信.
但不是非常稳定. 因为nat有可能会动态的修改udp的隐射后的端口.
楼主的条件1.
无论何时,只要在线,电脑B都能接收到文件并保存到指定文件夹并提示
那么可以肯定. a,b的ip等可能经常会换. 那么不通过第3方, 他们是互相不知道的
又根据条件2
电脑A考虑使用超级终端
超级终端只支持TCP, 所以即便1满足, 还是建立不了tcp连接, 因为nat的关系
那么只能通过第3方转发了.
第3方一定要是个internet上的公网服务器c, 这样a才可以通过超级终端建立连接.
同样, b只要在线, 也必须告诉c的存在. 但b和c的协议却可以用udp
这样可以节省资源
这样
如果b在线,并且在c上注册了的话. 条件1
1: a----->超级中断tcp ----->c
2: 条件1不满足, 告诉a失败. 等会尝试
3: 条件1满足. c向b发送一个请求, 等待文件.
4: a传诵文件, c把文件字节转给b.
5: a发送完毕. c告诉b完毕. b msgbox
这里有个小技巧
考虑到发送效率. 满足下列条件之1才发送
1: 和上次发送间隔达到某个值( 如500ms)
2: buff满 (如1024字节)
monica888
2006-08-04
打赏
举报
回复
用超级终端连服务器 服务器再给B发文件 两台内网电脑不能直接连接 除非有一方在路由器里做了NAT
iland9876543210
2006-08-03
打赏
举报
回复
ding
一笑拔剑
2006-06-30
打赏
举报
回复
可以使用类似灰鸽子的上线通知功能
先将文件放到一个互联网页面中
然后再从页面中读取 这样就可以绕过防火墙了
熊孩子开学喽
2006-06-29
打赏
举报
回复
我觉得应该在B端的防火墙上开一个VPN端口,电脑A拨上B的防火墙之后就会获得一个B端IP段地址,然后就可以象在一个网端一样操作文件了。
zyg0
2006-06-29
打赏
举报
回复
最好说具体点 比如 ip然后 分析下
zyg0
2006-06-29
打赏
举报
回复
如果有代理服务器的话 用udp可以实现 tcp不怎么会用代理
tcp跨越防火墙 用80端口看看
aperyx
2006-06-29
打赏
举报
回复
關注......
PANBing
2006-06-29
打赏
举报
回复
关注!正好想找这方面的资料...
TechnoFantasy
2006-06-28
打赏
举报
回复
在VB版不是原来有一个突破防火墙的网络传输的实现么?LZ找一下。
一笑拔剑
2006-06-28
打赏
举报
回复
可以通过网页 二次
VirtualDesktop
2006-06-28
打赏
举报
回复
用UDP,穿透
VirtualDesktop
2006-06-28
打赏
举报
回复
突破网关和防火墙采用TCP协议发送
用TCP几乎不可能
阿牛138588
2006-06-28
打赏
举报
回复
跨网,我不一定要直接传输吧。
加载更多回复(4)
怎样在群里问
问题
现在互联网发达的时代,大家都会有很多的群,xxx 交流群、xxx 技术交流、xxx开发群、xxx技术学习群等,大家的初心
可能
都是想交流的,遇到点
问题
然后就可以在群里问。 然而很多时候你问的
问题
没人回答;也有时候问了...
怎样成为解决
问题
的高手?——关于
问题
解决的关键4步骤
一个真正的高手,其实应该有能力用一套方法论去解决
问题
的所有,不管这个
问题
再难,再新鲜,再简单都能搞定。 什么是
问题
?一言以蔽之,
问题
来源于现实与目标的差距。 因此,
问题
产生的原因
可能
是: ...
汇总解决idea出现import包时报错Java:程序包xxxx不存在,但包
确实
存在的
问题
网上有很多解决方式,我想到的都汇总起来了,方便以后查看,你
可能
采用其中一种就能解决
问题
,我是用了最后一种才解决。 如果你要导入的包在Libraries下都本身一直没有存在,你这时就得看看pom里对应的依赖写的有...
多项式时间 P
问题
NP
问题
首先
需要
介绍P(Polynomial,多项式)
问题
.P
问题
是可以在多项式时间内被确定机(通常意义的计算机)解决的
问题
.NP(Non-Deterministic Polynomial, 非确定多项式)
问题
,是指可以在多项式时间内被非确定机(他可以猜,他总是能...
Android Studio 3.0输入法
问题
解决方案
也是因为在as2.2版本的时候使用也是有
问题
,然后就在网上搜了一下,果然不止我一个人遇到,然后有推荐使用智慧版,换了之后
确实
解决
问题
了,一直到3.0也没有任何
问题
,所以推荐给大家,希望有所
帮助
。 搜狗输入法
网络编程
1,502
社区成员
18,437
社区内容
发帖
与我相关
我的任务
网络编程
VB 网络编程
复制链接
扫一扫
分享
社区描述
VB 网络编程
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章