Hoi,
Ik ben nog altijd bezig met mijn schoolproject en ben nu begonnen aan het communicatiedeel tussen PDA en PC, dit moet gaan lopen via een USB Cradle, dus niet via het lokale netwerk.
Hiervoor had ik in gedachte dat ik een TCPSocketClient en TcpListener ga gebruiken. de PDA wil ik als server inrichten en de PC als client, hiervoor heb ik de volgende code in de PDA gestopt:
En op de PC zit de volgende code:
Het probleem is dus dat er op de PC geen server draait terwijl ik em wel laat connecten naar localhost, ik had verwacht dat de PDA misschien aan de PC kon vertellen dat hij die server was waar de pc op zoek naar is, dit bleek duidelijk niet te werken, mijn vraag is dus nu ook, welke IP's (of andere connectiemethode) moet ik gebruiken om dit geheel te laten werkn
Ik ben nog altijd bezig met mijn schoolproject en ben nu begonnen aan het communicatiedeel tussen PDA en PC, dit moet gaan lopen via een USB Cradle, dus niet via het lokale netwerk.
Hiervoor had ik in gedachte dat ik een TCPSocketClient en TcpListener ga gebruiken. de PDA wil ik als server inrichten en de PC als client, hiervoor heb ik de volgende code in de PDA gestopt:
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
31
| TcpListener tcpLsn; public ServerPDA() { Mbox = new mailbox(); if (tcpLsn == null) { tcpLsn = new TcpListener(IPAddress.Parse("127.0.0.1"), 1540); tcpLsn.Start(); Thread tcpThd = new Thread(new ThreadStart(WaitingForClient)); threadHolder.Add(connectId, tcpThd); tcpThd.Start(); } } private void WaitingForClient() { while (true) { // Accept will block until someone connects Socket sckt = tcpLsn.AcceptSocket(); if (connectId < 10000) Interlocked.Increment(ref connectId); else connectId = 1; if (socketHolder.Count < MaxConnected) { // connectie is gemaakt, rest is nu oninteressant om te bekijken } } } |
En op de PC zit de volgende code:
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
| Thread t; TcpClient s; public ClientPC() { s = new TcpClient(); Mbox = new mailbox(); IPAddress hostadd = IPAddress.Parse("127.0.0.1"); int port = Int32.Parse("1540"); IPEndPoint EPhost = new IPEndPoint(hostadd, port); try { s.Connect(EPhost); if (s.Connected) { t = new Thread(new ThreadStart(OntvangPDA)); t.Start(); } } catch (Exception e1) { MessageBox.Show(e1.ToString()); } } |
Het probleem is dus dat er op de PC geen server draait terwijl ik em wel laat connecten naar localhost, ik had verwacht dat de PDA misschien aan de PC kon vertellen dat hij die server was waar de pc op zoek naar is, dit bleek duidelijk niet te werken, mijn vraag is dus nu ook, welke IP's (of andere connectiemethode) moet ik gebruiken om dit geheel te laten werkn
Mess with the best, die like the rest