You Are Here:

Community: Developer Discussion Boards

#1 Old Question bluetooth dongle using winsock , returns (Error code 74 and 60 ) - 2008-12-22, 22:20

Join Date: Oct 2003
Posts: 41
Location: Pakistan, Karachi
farhanx
Offline
Registered User
Hi,

I am having a weired problem right now , and i am not sure how to handle this. But i am hoping that maybe some of guru here could help me.
I am using winsocket to communicate with mobile through bluetooth , everything working fine when i am using my bluetooth dongle and it returned me code as A0 (OBEX SUCCESS)...
But when i sent the same exe to some one else , he was using LG CE110 , and instead of connecting it was retruning error code as 74 or 60.

i have made my custom obex which has the following information below..

Kindly help me and guide me how to do it...Thanks...

#define MAX_PKT_SIZE 0x800
#define MAX_RECV_BUFF_LEN 2000
#define MAX_SEND_BUFF_LEN 1030

// OBEX Operation codes
#define OBEX_PUT (BYTE)0x02
#define OBEX_PUT_FINAL (BYTE)0x82
#define OBEX_GET_FINAL (BYTE)0x83
#define OBEX_CONNECT (BYTE)0x80
#define OBEX_DISCONNECT (BYTE)0x81
#define OBEX_ABORT (BYTE)0xFF

// OBEX Header codes
#define OBEX_NAME (BYTE)0x01
#define OBEX_LENGTH (BYTE)0xC3
#define OBEX_DESCRIPTION (BYTE)0x05
#define OBEX_BODY (BYTE)0x48
#define OBEX_END_OF_BODY (BYTE)0x49

// OBEX Response codes
#define OBEX_CONTINUE (BYTE)0x90
#define OBEX_SUCCESS (BYTE)0xA0

#define OBEX_VERSION (BYTE)0x10
#define OBEX_CONNECT_FLAGS (BYTE)0x00

...............
and here is my code where i am reciving this error
Code:
Code:
      SOCKADDR_BTH sab;
      memset(&sab,0,sizeof(sab));
      sab.addressFamily = AF_BTH;
      sab.serviceClassId = OBEXObjectPushServiceClass_UUID;
      sab.btAddr = dev.Address.ullLong;
      sab.port = (ULONG)BT_PORT_ANY;

      sockaddr* pAddr = (sockaddr*)&sab;

      if(0 == connect(s,pAddr,sizeof(SOCKADDR_BTH)))
      {
            BYTE dataBuff[MAX_SEND_BUFF_LEN];
            BYTE recvBuff[MAX_RECV_BUFF_LEN];

            dataBuff[0] = OBEX_CONNECT;

            *((unsigned short*)&dataBuff[1]) = htons((unsigned short)0x11);
            dataBuff[3] = OBEX_VERSION;
            dataBuff[4] = OBEX_CONNECT_FLAGS;
            *((unsigned short*)&dataBuff[5]) = htons((unsigned short)MAX_PKT_SIZE);

            if(SOCKET_ERROR == send(s,(char*)dataBuff,0x11,0))
            {
                  printf("Failed in Send during Connect\n");
                  WIN_DEBUG;
                  return false;
            }

            if(SOCKET_ERROR == recv(s,(char*)recvBuff,MAX_RECV_BUFF_LEN,0))
            {
                  printf("Failed in Recv during Connect\n");
                  WIN_DEBUG;
                  return false;
            }

            if(recvBuff[0] == OBEX_SUCCESS)
            {
                  NegotiatedPacketSize = ntohs(*((unsigned short*)&recvBuff[5]));
                  return true;
            }
            else
            { 

//HERE  I AM RECIVING THE ERROR INSTEAD OF OBEX_SUCCESS
                  printf("Failed Connect, Code: %s\n",ToHex(recvBuff[0]).c_str());
                  return false;
            }
      }
      else
      {
            printf("Failed in Connect\n");
            WIN_DEBUG;
            return false;
      }
Reply With Quote
Reply « Previous Thread | Next Thread »
Display Modes
Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules

You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Forum Jump

Rate This

 
Bookmark this page: DeliciousDiggFacebookGoogleYahooStumbleUponRedditDiigoTechnocratiTwitter  Share this page Share this page Print this Page Print this page Invite a friend Invite a friend
京ICP备05048969号    Email Newsletters Press Terms & Conditions Privacy Policy Sitemap Contact Us © 2009 Nokia