2005-03-13 17:31:45

by Marco Trudel

[permalink] [raw]
Subject: [Bluez-users] closing a connection: timing

Hello everybody

this is my "server-code":

int client = accept(sock, (struct sockaddr *)&addr, &alen))
char out[] = "200 100";
send(client, out, strlen(out), 0);
// sleep(2);
close(client);


I wrote a little client with the avetana library on my laptop and i'm able
to receive the message "200 100".

I tested it with my mobile phone (with exactly the same code as with the
avetana library). Here I'm unable to receive the data. as soon as i try to
open the inputstream, an exception ("connection already closed") is thrown.
If I uncommend the sleep, it works an i get "200 100".
I now don't know where the source of the problem could be. Do I miss
something important? Mobile Phone bug?


btw, I tested it with the bluetooth-terminal from kde and only receive "200
10". -> where is the last "0"?

kind regards
Marco Trudel


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
Bluez-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-users


2005-03-14 10:24:04

by Marcel Holtmann

[permalink] [raw]
Subject: Re: [Bluez-users] closing a connection: timing

Hi Marco,

> this is my "server-code":
>
> int client = accept(sock, (struct sockaddr *)&addr, &alen))
> char out[] = "200 100";
> send(client, out, strlen(out), 0);
> // sleep(2);
> close(client);
>
>
> I wrote a little client with the avetana library on my laptop and i'm able
> to receive the message "200 100".
>
> I tested it with my mobile phone (with exactly the same code as with the
> avetana library). Here I'm unable to receive the data. as soon as i try to
> open the inputstream, an exception ("connection already closed") is thrown.
> If I uncommend the sleep, it works an i get "200 100".
> I now don't know where the source of the problem could be. Do I miss
> something important? Mobile Phone bug?
>
>
> btw, I tested it with the bluetooth-terminal from kde and only receive "200
> 10". -> where is the last "0"?

I have no idea with the Java problem, but if you send only strlen()
bytes then you miss the null byte at the the end. So even for a char
array you should use sizeof(). If this is a text based protocol you
start to run over RFCOMM send add "\r\n" may also be a good idea.

Regards

Marcel




-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
Bluez-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-users