palaber
Captain
- Registriert
- Juni 2006
- Beiträge
- 3.856
Servus,
ich schon wieder. Aktuell verbinde ich 2 Rechner via BT. Der eine als Server, den andere als Client.
Die Verbinung aufbauen geht. Momentan begnüge ich mich damit aus einer Textbox einen Text am
anderen Rechner auszugeben.
Ich kann z.B. vom Client zum Server einen Text schicken, der dann in einer Textbox ausgegeben wird.
Möchte ich nun Text vom Server zum Client schicken funktioniert das nicht.
Hier mal der betreffende Clientcode:
ich habe probiert in "BluetoothClientConnectCallback" Code zu implementieren, der mir dann entsprechend die GUI TB updatet. Allerdings hab ich das Problem, dass es dann im Server ne Loop fährt mit nem String + meinem Byte[]. Außerdem ist das senden von Daten an den Client dann auch nicht mehr möglich.
Hier mal der erweiterte Code:
Hab schon einiges rum probiert, aber nie das gewünschte Ergebniss gefunden. Und solangsam seh ich den Wald vor lauter Bäumen nich mehr.
ich schon wieder. Aktuell verbinde ich 2 Rechner via BT. Der eine als Server, den andere als Client.
Die Verbinung aufbauen geht. Momentan begnüge ich mich damit aus einer Textbox einen Text am
anderen Rechner auszugeben.
Ich kann z.B. vom Client zum Server einen Text schicken, der dann in einer Textbox ausgegeben wird.
Möchte ich nun Text vom Server zum Client schicken funktioniert das nicht.
Hier mal der betreffende Clientcode:
Code:
private void ClientConnectThread()
{
BluetoothClient client = new BluetoothClient();
updateUI("Verbindungsaufbau...");
client.BeginConnect(deviceInfo.DeviceAddress, mUUID, this.BluetoothClientConnectCallback, client);
}
void BluetoothClientConnectCallback(IAsyncResult result)
{
//TRY CATCH REIN für Timeout!
BluetoothClient client = (BluetoothClient)result.AsyncState;
client.EndConnect(result);
Stream stream = client.GetStream();
updateUI("ClientConnectCallback: Client - Server Verbindung steht");
stream.ReadTimeout = 1000;
while (true)
{
while (ready)
{
stream.Write(message, 0, message.Length);
ready = false;
}
}
}
ich habe probiert in "BluetoothClientConnectCallback" Code zu implementieren, der mir dann entsprechend die GUI TB updatet. Allerdings hab ich das Problem, dass es dann im Server ne Loop fährt mit nem String + meinem Byte[]. Außerdem ist das senden von Daten an den Client dann auch nicht mehr möglich.
Hier mal der erweiterte Code:
Code:
void BluetoothClientConnectCallback(IAsyncResult result)
{
//TRY CATCH REIN für Timeout!
BluetoothClient client = (BluetoothClient)result.AsyncState;
client.EndConnect(result);
Stream stream = client.GetStream();
updateUI("ClientConnectCallback: Client - Server Verbindung steht");
stream.ReadTimeout = 1000;
try
{
byte[] empfangen = new byte[1024];
stream.Read(empfangen, 0, empfangen.Length);
this.updateUI("Schleife im Client Code!: " + Encoding.ASCII.GetString(empfangen));
}
catch (Exception e) { string sFehlercode = e.ToString(); }
while (true)
{
while (ready)
{
stream.Write(message, 0, message.Length);
ready = false;
}
}
}
Hab schon einiges rum probiert, aber nie das gewünschte Ergebniss gefunden. Und solangsam seh ich den Wald vor lauter Bäumen nich mehr.