【问题标题】:TCP Socket Based File Transfer: Receiving And Saving A File Properly基于 TCP 套接字的文件传输:正确接收和保存文件
【发布时间】:2013-01-20 16:05:36
【问题描述】:

我正在尝试创建一个文件共享程序。至此,连接和文件传输部分已经处理完毕。但我目前在如何正确接收和保存文件方面遇到问题。

我可以成功接收文件当且仅当我将在服务器端指定其名称和扩展名。现在我的问题是,如何检索文件的名称和扩展名,以便在服务器上成功接收文件?我的意思是我不想在每次收到文件时都指定一个名称。这可能吗?我正在考虑通过另一个网络流发送文件名,但我想有更好的方法。

提前致谢!

这是错误的屏幕截图。

http://i.stack.imgur.com/XkpZ2.png

服务器端代码

            While True
                Dim c As TcpClient = server.AcceptTcpClient
                Dim s As NetworkStream = c.GetStream

                FileOpen(1, filePath, OpenMode.Binary)
                Dim buffer(1024 - 1) As Byte
                Do While True
                    Dim bytesRead As Integer = s.Read(buffer, 0, buffer.Length)
                    If bytesRead = 0 Then Exit Do
                    FilePut(1, buffer)
                Loop
                FileClose(1)
                s.Close()
                c.Close()
            End While

客户端代码

            Dim nstm As Stream = cli.GetStream()
            Dim fstm As Stream = New FileStream(filePath, FileMode.Open, FileAccess.Read)
            Dim buffer(1024 - 1) As Byte
            Do While True
                Dim bytesRead As Integer = fstm.Read(buffer, 0, buffer.Length)
                If bytesRead = 0 Then Exit Do
                nstm.Write(buffer, 0, bytesRead)
            Loop

【问题讨论】:

    标签: .net vb.net tcpclient file-sharing


    【解决方案1】:

    您不能将文件直接保存到桌面,您必须创建新文件夹并将文件分配到新文件夹。 我尝试创建示例,此图像结果 http://diaryanakku.files.wordpress.com/2013/01/clientsocket.png

    这个发送文件的代码参考,对不起印度尼西亚语言的教程,但代码仍然是英文,我希望能有所帮助。 http://diaryanakku.wordpress.com/2013/01/21/mengirim-file-melalui-socket-vb-net/

    【讨论】:

    • 是的。感谢你的回复。我会试试这个并尽快更新你。
    • 更新:即使我尝试在桌面上创建一个文件夹并将文件发送给他们,它也不起作用。我将尝试您现在发布的网站中的代码。无论如何,感谢您的宝贵时间。
    猜你喜欢
    • 2019-08-28
    • 1970-01-01
    • 2012-07-12
    • 2012-04-29
    • 1970-01-01
    • 2021-09-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多