Hallo,
ich möchte eine serielle Verbindung zwischen einem Linux-PC und einen
Windows-PC, auf Bluetooth-Basis.
Wenn ich die Verbindung vom Windows-PC aus initiere, funktioniert es.
Am Windows-PC "verbinde" ich zunächst die beiden PCs, laut den
beigefügten Bilder. Man sieht den Linux-Rechner, erstellt eine
Verbindung, und "verbindet". Der virtuelle COM-Port "COM7" ist aber noch
nicht nutzbar.
Dann gehe ich zum Linux PC und führe diese Befehle aus:
1 | # sdptool add --channel=1 SP
|
2 | Serial Port service registered
|
3 | # rfcomm connect rfcomm2 00:09:DD:50:94:67 1
|
4 | Connected /dev/rfcomm2 to 00:09:DD:50:94:67 on channel 1
|
5 | Press CTRL-C for hangup
|
Ich musste ein paar PINs vergleichen, damit sich die beiden "pairen"
konnten.
Jetzt steht die Verbindung. Ich kann von einen PC Daten reinschreiben,
diese werden vom anderen empfangen und vice versa.
Aber die Reihenfolge des Verbindungsaufbau gefällt mir nicht.
Ich würde das vom Linux-PC inititieren, d.h. aufbauen, ohne dass ich das
erst beim Windows-PC "verbinden" muss. Der Windows-PC soll erst
"verbinden", wenn er vom Linux-PC die Aufforderung erhält.
Aber ich kriege das nicht hin.
Die Linux-Befehle verstehe ich zwar: bind, listen, connect und accept
macht man bei jeder Socket-Verbindung. Der Server ruft "accept" auf,
wenn der Client "connect" aufruft, steht die Verbindung.
Aber was heisst das in der Windows-Sprache? Entspricht das "verbinden"
beim Windows-Stack dem "accept"?