我正在尝试创建一个文件共享程序。到目前为止,连接和文件传输部分都得到了处理。但我目前在如何正确接收和保存文件方面遇到了问题。
我可以成功接收文件当且仅当我将在服务器端指定其名称和扩展名。现在我的问题是,如何检索文件的名称和扩展名,以便我可以在服务器上成功接收文件?我的意思是每次收到文件时我都不想指定名称。这可能吗?我正在考虑通过另一个网络流发送文件名,但我想有更好的方法可以做到。
提前致谢!
以下是错误的屏幕截图。
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
答案 0 :(得分:0)
您无法将文件直接保存到dekstop,您必须创建新文件夹并将文件分配到新文件夹。 我试过创建样本,这个图像结果 http://diaryanakku.files.wordpress.com/2013/01/clientsocket.png
此代码依赖于发送文件,抱歉教程在印度尼西亚语语言但代码仍然是英文,希望能有所帮助。 http://diaryanakku.wordpress.com/2013/01/21/mengirim-file-melalui-socket-vb-net/