我正在VB.Net中开发一个文件传输应用程序 文件的大小各不相同,但最高可达10 GB. 我已经创建了一个聊天应用程序作为测试. 在客户端,我运行此代码以连接到服务器. Dim clientSocket As New S
文件的大小各不相同,但最高可达10 GB.
我已经创建了一个聊天应用程序作为测试.
在客户端,我运行此代码以连接到服务器.
Dim clientSocket As New System.Net.Sockets.TcpClient() Dim serverStream As NetworkStream clientSocket.Connect("127.0.0.1", 80)
我还可以用它来传输文件吗?
我想让应用程序通过防火墙和东西工作.
所以我认为我需要客户端上的传出数据通过端口80.在服务器上我希望能够在另一个端口上接收数据(例如,8888).这可能吗?
最后一个问题是.我应该为此目的使用什么协议TCP或UDP.
对不起三合一问题:)
谢谢你的协助.
传输文件:是的,您可以很好地使用可靠的网络流来传输文件.至少这些文件的数据.您必须自己进行文件系统管理(在正确的文件夹中创建目标文件等).TCP / UDP:由于您需要可靠性和流量控制来通过Internet传输大块数据,因此您可能需要使用TCP. TCP的其他功能,如按顺序传送和错误检测也不会受到影响.如果使用UDP,你可能最终会自己实现所有这些,浪费了你很多时间.
防火墙:应用程序的客户端防火墙应该没有问题,除非它们非常严格并且只允许传出HTTP连接.但是,必须可以从Internet访问服务器端口,即您希望配置服务器端网络,以便将对公共IP和所选端口的传入连接请求转发到服务器上的所选端口.查找“端口转发”或“端口NAT”以获取更多信息.即使不是不可能,绕过两边的防火墙和NAT也要困难得多.别试试.