VB6使用Winsock远程连接

来源:百度知道 编辑:UC知道 时间:2024/05/22 03:44:04
我使用VB6编程,我用WinSock编了一个通信程序,并且实现了在内网中的通信(192.168.XXX.XXX的地址),
请问怎样实现远程通信,即我如果知道公网IP,我需要怎样设置WinSock(尤其是RemoteHost)?

另外怎样实现用WinSock传输文件?WinSock只能用SendData传输文本吗?

谢谢!
请问我怎样用WinSock构造含有对方计算机MAC地址的数据包呢?

貌似不能直接用WINSOCK实现的,因为路由器是工作在网络层的,你的数据传输必须低于或与网络层同级才能通过网关到达目标机。即你必须构造含有对方计算机MAC地址的数据包而不是简单的使用IP地址。
但如果你作为服务端对方作为客户端是应该可以的。

...具体用VB怎么实现 我也不知道哎。。。
看看别人用C写的代码吧

知道公网ip后,直接设置为公网ip就行了,和在内网是一个道理。
用winsock传任何数据,都是用senddata的,可以把文本读入字符串变量,直接以string 变量传输文本,很方便。或者把文本文件读入二进制数组 (对于比较大的文本文件来说),这样的话可以传任意类型的文件了。
你想构造含有对方计算机mac的数据包其实很简单,你可以找一下获得本机网卡mac的api函数,然后构造自己的一个数据包格式,比如包的前n个字节代表对方mac,以后的n个字节代表文件内容。这样在接收方也做同样处理就可以了。