ファイル共有プログラムを作成しようとしています。これまでのところ、接続とファイル転送の部分は処理されています。しかし、現在、ファイルを適切に受信して保存する方法に問題があります。
サーバー側で名前と拡張子を指定する場合にのみ、ファイルを正常に受信できます。私の質問は、サーバー上でファイルを正常に受信できるように、ファイルの名前と拡張子を取得するにはどうすればよいですか? つまり、ファイルを受信するたびに名前を指定したくないということです。これは可能ですか?別のネットワーク ストリーム経由でファイル名を送信することを考えていますが、もっと良い方法があると思います。
前もって感謝します!
これがエラーのスクリーンショットです。
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