Hello,
Ik ben hier bezig met een kleine applicatie die als TCP client werkt. Ik heb een embedded device die als TCP server werkt, en m'n c# applicatie moet daarop connecteren.
Nu werkt alles goed, behalve het versturen van de data. Ik zou willen hebben dat de data onmiddelijk verstuurd wordt. Nu is dit niet het geval, en krijgt m'n ebedded device enkel de verstuurde data als de socket op pc-zijde gesloten is.
Dit is wat ik heb
Nu is het zo dat dit stukje code dus effectief iets zou moeten verzenden. Maar het wordt enkel ' doorgestuurd ' ( maw aan de server zeggen dat de data verstuurd is ) als ik sock.Close() doe.
Hoe zorg ik ervoor dat de data onmiddellijk verstuurd wordt als ik " sock.Send() " doe?
Bedankt!
Ik ben hier bezig met een kleine applicatie die als TCP client werkt. Ik heb een embedded device die als TCP server werkt, en m'n c# applicatie moet daarop connecteren.
Nu werkt alles goed, behalve het versturen van de data. Ik zou willen hebben dat de data onmiddelijk verstuurd wordt. Nu is dit niet het geval, en krijgt m'n ebedded device enkel de verstuurde data als de socket op pc-zijde gesloten is.
Dit is wat ik heb
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
| // ip-adres en poort invullen IPEndPoint hostep = new IPEndPoint(Machineclass.Ipadres, 2000); EndPoint ep = (EndPoint)hostep; sock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); try { sock.Connect(hostep); } catch (SocketException f) { clsOutput.output_print(clsOutput.type.Debug, "<< Error connecting socket = " + f.ToString()); return; } try { sock.NoDelay = true; // data versturen string test = "test"; sock.Send(Encoding.ASCII.GetBytes(test)); } catch (SocketException f) { clsOutput.output_print(clsOutput.type.Debug, "<< Problem sending data = " + f.ToString()); sock.Close(); return; } |
Nu is het zo dat dit stukje code dus effectief iets zou moeten verzenden. Maar het wordt enkel ' doorgestuurd ' ( maw aan de server zeggen dat de data verstuurd is ) als ik sock.Close() doe.
Hoe zorg ik ervoor dat de data onmiddellijk verstuurd wordt als ik " sock.Send() " doe?
Bedankt!