/ / Čítanie dát z sieťového toku - c # -4.0

Čítanie dát z sieťového toku - c # -4.0

Mám jednoduchý TCP klient a kód poslucháča. Chcem prejsť názov súboru spolu s dátami súboru. Existuje nejaký spôsob odosielania názvu súboru spolu s údajmi o súbore a čítaní samotného názvu súboru zo sieťového prúdu bez poškodenia súborových údajov?

odpovede:

0 pre odpoveď č. 1

Tu je spôsob, ako odoslať aj názov súboru adáta, ktoré by nemali byť poškodené.Ak používate serializáciu, nemusíte ručne písať a čítať názov súboru a obsah oddelene môžete len poslať a prečítajte si ako jeden objekt a mať rámcové riešenie s serializing a deserializing jednotlivé vlastnosti.

[SerializableAttribute]
class Data
{
public string FileName;
public byte[] FileData;
}

Zákazník

string filePath = @"c:tempmyfile.txt";
TcpClient client = new TcpClient();
client.Connect("localhost", 8888);

Data data = new Data();
data.FileName = Path.GetFileName(filePath);
data.FileData = File.ReadAllBytes(filePath);

BinaryFormatter formatter = new BinaryFormatter();
formatter.Serialize( client.GetStream(), data);
client.Close();

server

TcpListener listener = new TcpListener(IPAddress.Loopback, 8888);
listener.Start();
TcpClient client = listener.AcceptTcpClient();

BinaryFormatter formatter = new BinaryFormatter();
Data data = (Data)formatter.Deserialize(client.GetStream());