私はこれに2日間取り組んでいますが、理解できません。TCP (サーバー送信、クライアント受信) 経由でファイルを転送したい。
私が直面している問題は、受信側が取得しているファイルのファイル名を知る方法を実装したいということです。これまでの作業コード
public void SendFile(string path, string IP)
{
TcpClient client = new TcpClient();
client.Connect(IP, 1095);
using (NetworkStream networkStream = client.GetStream())
using (FileStream fileStream = File.OpenRead(path))
{
ASCIIEncoding asci = new ASCIIEncoding();
byte[] b = asci.GetBytes(path);
networkStream.Write(b, 0, b.Length);
networkStream.Flush();
fileStream.CopyTo(networkStream);
}
client.Close();
}
private void ListenForFile()
{
TcpListener listener = new TcpListener(IPAddress.Any, 1095);
listener.Start();
using (TcpClient incoming = listener.AcceptTcpClient())
using (NetworkStream networkStream = incoming.GetStream())
using (FileStream fileStream = File.OpenWrite(@pathName + @"\something.extension"))
{
networkStream.CopyTo(fileStream);
}
listener.Stop();
}