×

Discussion Board

Page 1 of 2 12 LastLast
Results 1 to 15 of 25
  1. #1
    Registered User
    Join Date
    Jan 2005
    Posts
    32

    Unhappy RSocket in emulator...

    Hi all,
    I am stuck on using socket connection many days.
    I already searched many articles discuss about socket connection, but no good result.
    Every time, when I press a keypad to start connecting to a socket server, then application CRASHED!!!
    The following is that I copy from the example code and modify it.
    Is any thing wrong!!!!!?!?!!??!?????????
    Please help me!!! I am going to be crazy by this........................

    header file
    Code:
    #ifndef NEWSOCKETCLASS_H
    #define NEWSOCKETCLASS_H
    
    #include "inc.h"
    
    const TUint32 KInetAddr = INET_ADDR(192,168,1,69);
    
    class CNewSocketClass : public CActive
    {
    public:
      CNewSocketClass();
      void ConstructL();
      ~CNewSocketClass();
    
    public: // New functions
      // Function for making the initial request
      void StartL(TTimeIntervalMicroSeconds32 aDelay);
    
    private: // From CActive
      // Handle completion
      void RunL();
    
      // How to cancel me
      void DoCancel();
    
      // Override to handle leaves from RunL(). Default implementation causes
      // the active scheduler to panic.
      //void RunError(TInt aError);
    
    public:
      void ConnectL(TUint32 aAddr);
      void Read();
    
    private:
      enum TNewSocketClassState
      {
        EUninitialized,	// Uninitialized
        EInitialized,	// Initalized
        EError			// Error condition
      };
    
    private:
      TInt    iState;		// State of the active object
      RTimer	iTimer;		// Provides async timing service
    
      // socket variables
      RSocket iEchoSocket;
      RSocketServ iSocketServ;
      RHostResolver iResolver;
      TInetAddr iAddress;
    };
    cpp file
    Code:
    #include "NewSocketClass.h"
    
    CNewSocketClass::CNewSocketClass() : CActive(EPriorityStandard)	// Standard priority
    {
    }
    
    void CNewSocketClass::ConstructL()
    {
      User::LeaveIfError(iTimer.CreateLocal());	// Initialize timer
      CActiveScheduler::Add(this);				// Add to scheduler
    
      // Open channel to Socket Server
      User::LeaveIfError(iSocketServ.Connect());
      // Open a TCP socket
      User::LeaveIfError(iEchoSocket.Open(iSocketServ, KAfInet, KSockStream, KProtocolInetTcp));
    }
    
    CNewSocketClass::~CNewSocketClass()
    {
      Cancel(); // Cancel any request, if outstanding
      // Delete instance variables if any
    }
    
    void CNewSocketClass::DoCancel()
    {
      iTimer.Cancel();
    }
    
    void CNewSocketClass::StartL(TTimeIntervalMicroSeconds32 aDelay)
    {
      Cancel();						// Cancel any request, just to be sure
      iState = EUninitialized;
      iTimer.After(iStatus, aDelay);	// Set for later
      SetActive();					// Tell scheduler a request is active
    }
    
    void CNewSocketClass::RunL()
    {
      if (iState == EUninitialized) {
        // Do something the first time RunL() is called
        iState = EInitialized;
      } else if (iState != EError) {
        // Do something
      }
      iTimer.After(iStatus, 1000000);	// Set for 1 sec later
      SetActive();					// Tell scheduler a request is active
    }
    
    //const TInt KTimeOut = 50000000; // 130 seconds time-out
    
    void CNewSocketClass::ConnectL(TUint32 aAddr)
    // Connect to an Echo Socket by IP address	
    {
      iAddress.SetPort(80);
      iAddress.SetAddress(aAddr);
      iEchoSocket.Connect(iAddress, iStatus);
      iTimer.After(iStatus, 50000000);
      SetActive();
    }
    I found the crash point is at
    Code:
    iEchoSocket.Connect(iAddress, iStatus);
    this function
    If I mark it, then it won't crash...
    why!!!??!?!?!? Why I cannot do Connect function??!!??!?
    Last edited by FireStoke; 2005-11-03 at 10:21.

  2. #2
    Registered User
    Join Date
    Jan 2005
    Posts
    32

    Re: RSocket in emulator...

    I will be very very appreciated if any sample code shared........

    Simple conclusion, my socket connect process is:
    1. // Open channel to Socket Server
    User::LeaveIfError(iSocketServ.Connect());
    // Open a TCP socket
    User::LeaveIfError(iEchoSocket.Open(iSocketServ, KAfInet, KSockStream, KProtocolInetTcp));

    2. // Set address and port, then connect it...
    iAddress.SetPort(80);
    iAddress.SetAddress(aAddr);
    iEchoSocket.Connect(iAddress, iStatus);

    Is the process correct!?!??!?
    Is any thing I miss????
    Last edited by FireStoke; 2005-11-03 at 11:02.

  3. #3
    Registered User
    Join Date
    Mar 2003
    Posts
    41

    Re: RSocket in emulator...

    Not sure, but I think you should define another active object for the timer. Now you're using the same iStatus for the timer and the socket and I'm not sure this is possible.

  4. #4
    Registered User
    Join Date
    Jan 2005
    Location
    Helsinki, Finland
    Posts
    257

    Re: RSocket in emulator...

    Hi,

    I think you should study about active object a little more. An active object can request asynchronous service one at a time. When you have already called a asynchronous method iTimer.After(iStatus, aDelay) and SetActive(), your active object CNewSocketClass is already active. If you call another asynchronous method while the object is already active, the system panics. I don’t see where you are calling ConnectL(). It might call from somewhere else at time your object is active (means there is a pending asynchronous request). So you better call the following code in your ConnectL() method just before iEchoSocket.Connect(iAddress, iStatus).

    if( IsActive() ) // check if it is already active
    Cancel();

    and in DoCancel()

    void CNewSocketClass:oCancel()
    {
    iEchoSocket.CancelAll();
    iTimer.Cancel();
    }

    You should always check (unless you are sure) as follows before you call any asynchronous method.

    if( IsActive() ) // check if it is already active
    Cancel(); // if active, cancel all pending request in DoCancel().

    hope it helps.

    Note: If you are using 2 kinds of asynchronous service in your active objects ( like u are doing RTimer and RSocket), it is recommended to define 2 active objects in order to avoid confusion and overlapping of asynchronous requests.

    It is always good to mention the panic code if your application crashes. Then you should get the right answer of your problem.

  5. #5
    Registered User
    Join Date
    Jan 2005
    Posts
    32

    Re: RSocket in emulator...

    kosjanne:
    But even I remove the timer object, the app still CRASH while doing RSocket::Connect function...................

  6. #6
    Registered User
    Join Date
    Jan 2005
    Posts
    32

    Re: RSocket in emulator...

    madsum:
    I call ConnectL in AppUi's HandleKeyEventL function:
    Code:
    void CSymapAppUi::ConstructL() {
      ...
      iNewSocket = new (ELeave) CNewSocketClass;
      ...
    }
    
    TKeyResponse CSymapAppUi::HandleKeyEventL(
      const TKeyEvent& aKeyEvent,TEventCode aType)
    {
      if( aType == EEventKey ) {
        switch( aKeyEvent.iCode ) {
         ....
        case EKeyNum4:
          {
          if( iNewSocket )
            iNewSocket->ConnectL(KInetAddr);
          }
          break;
        ....
        default:
          break;
        }
      }
      return EKeyWasConsumed;
    }
    Very very thankful for your kindly advice!!!
    I am try the method you provided right now.
    Thanks!!!!!!!!!
    Last edited by FireStoke; 2005-11-03 at 12:04.

  7. #7
    Registered User
    Join Date
    Jan 2005
    Posts
    32

    still CRASH!!!

    Here is my new code:
    Code:
    void CNewSocketClass::DoCancel()
    {
      iac->trace( 3, "DoCancel...");
      iEchoSocket.CancelAll();
      iTimer.Cancel();
    }
    
    void CNewSocketClass::ConnectL(TUint32 aAddr)
    // Connect to an Echo Socket by IP address
    {
      iac->trace( 4, "ConnectL...", aAddr);
    
      if( IsActive() ) // check if it is already active
        Cancel();
    
      iAddress.SetPort(80);
      iAddress.SetAddress(aAddr);
      iEchoSocket.Connect(iAddress, iStatus);
      //iTimer.After(iStatus, 50000000);
      //SetActive();
    }
    It still crashes.....
    I use the debug mode, and get the following error trace at the crash point.
    What's it means?
    trace:
    CEikServNotifySession::ServiceL(), UID: 0xd100059AB op:4
    (SECURITYNOTIFIER)CSecurityNotifier::Info()
    Unhandled exception at 0x5b034c77 in epoc.exe: User breakpoint.
    Thread panic KERN-EXEC 0
    Panicked thread: Symap (id 61)
    Unhandled exception at 0x60018865 in epoc.exe: User breakpoint.
    Last edited by FireStoke; 2005-11-03 at 12:36.

  8. #8
    Registered User
    Join Date
    Jan 2005
    Location
    Helsinki, Finland
    Posts
    257

    Re: RSocket in emulator...

    It is a access violation panic code.

    Ok, it seems you have commented out the iTimer class. And I guessed you are not constructing the iTimer at all and again accessing it in DoCancle() as iTimer.Cancel(); I think if u remove the iTimer, you should also comment iTimer.Cancel() in DoCancle().

  9. #9
    Registered User
    Join Date
    Jan 2005
    Posts
    32

    Re: RSocket in emulator...

    I remove all iTimer access function.
    But it still CRASH!!!

    Code:
    #include "NewSocketClass.h"
    
    CNewSocketClass::CNewSocketClass() : CActive(EPriorityStandard)	// Standard priority
    {
    }
    
    void CNewSocketClass::ConstructL()
    {
      //User::LeaveIfError(iTimer.CreateLocal());	// Initialize timer
      CActiveScheduler::Add(this);				// Add to scheduler
    
      // Open channel to Socket Server
      User::LeaveIfError(iSocketServ.Connect());
      // Open a TCP socket
      User::LeaveIfError(iEchoSocket.Open(iSocketServ, KAfInet, KSockStream, KProtocolInetTcp));
    }
    
    CNewSocketClass::~CNewSocketClass()
    {
      Cancel(); // Cancel any request, if outstanding
      // Delete instance variables if any
    }
    
    void CNewSocketClass::DoCancel()
    {
      iEchoSocket.CancelAll();
    }
    
    void CNewSocketClass::StartL(TTimeIntervalMicroSeconds32 aDelay)
    {
      Cancel();						// Cancel any request, just to be sure
      iState = EUninitialized;
      SetActive();					// Tell scheduler a request is active
    }
    
    void CNewSocketClass::RunL()
    {
      if (iState == EUninitialized) {
        // Do something the first time RunL() is called
        iState = EInitialized;
      } else if (iState != EError) {
        // Do something
      }
      SetActive();					// Tell scheduler a request is active
    }
    
    //const TInt KTimeOut = 50000000; // 130 seconds time-out
    
    void CNewSocketClass::SetContainer(CSymapContainer * aContainer) {
      iac = aContainer;
    }
    
    void CNewSocketClass::ConnectL(TUint32 aAddr)
    // Connect to an Echo Socket by IP address
    {
      iac->trace( 4, "ConnectL...", aAddr);
    
      if( IsActive() ) // check if it is already active
        Cancel();
    
      iAddress.SetPort(80);
      iAddress.SetAddress(aAddr);
      iEchoSocket.Connect(iAddress, iStatus);
      SetActive();
    }
    error trace:
    CEikServNotifySession::ServiceL(), UID: 0xd100059AB op:4
    (SECURITYNOTIFIER)CSecurityNotifier::Info()
    Unhandled exception at 0x5b034c77 in epoc.exe: User breakpoint.
    Thread panic KERN-EXEC 0
    Panicked thread: Symap (id 59)
    Unhandled exception at 0x60018865 in epoc.exe: User breakpoint.

  10. #10
    Registered User
    Join Date
    Jan 2005
    Posts
    32

    Re: RSocket in emulator...

    madsum:
    I am going to back home for rest.
    Because now is PM 8:45 local time, I shouldn't stay at company any more.
    I will go on discussing with you tomorrow.
    Very very thank your help!!!!!

  11. #11
    Registered User
    Join Date
    Jan 2005
    Location
    Helsinki, Finland
    Posts
    257

    Re: RSocket in emulator...

    Let me know at which line of code this "Unhandled exception" occurs (when you debug)? I see a little wrong at your current code. You are calling SetActive() in void NewSocketClass::StartL() while you did not issue any asynchronous request. You should only call SetActive() after you have made a asynchronous request. There is also a SetActive() in RunL(). But I guessed your program crashes before that point. But you must understand the use of active object.

  12. #12
    Registered User
    Join Date
    Oct 2005
    Posts
    22

    Re: RSocket in emulator...

    There is a TCP example in series 60 SDK, the directory is "SDK DIRECTORY"\Examples\networking\tcpip\echoclientengine.

  13. #13
    Registered User
    Join Date
    Jan 2005
    Posts
    32

    I found something different...

    The code of "Unhandled exception" is:
    iSocket.Connect(iAddress, iStatus);

    In fact, my old code doesn't implement any active object method.
    I inherit CActive object is because I saw all socket example code's connect engine class ALWAYS inherit from CActive object.
    So I inherit CActive object to try the CRASH problem still exists or not.....
    Say truth, I am really not familiar with how CActive object works.

    Forget the confusing active object...
    The following is my old code doesn't implement CActive object method.
    ======================== Socket Engine Header File:
    Code:
    #ifndef SOCKETENGINE_H
    #define SOCKETENGINE_H
    
    // INCLUDES
    #include "inc.h"
    
    // CLASS DECLARATION
    class CSocketEngine {
    public: // Constructors and destructor
      CSocketEngine();
      CSocketEngine(CSymapContainer *aContainer);
      ~CSocketEngine();
    
    public: // functions
      void Connect();
    private:
      void Init();
    
    public: // data
      TRequestStatus iStatus;
    private:
      CSymapContainer *iac;
      RConnection iRConn;
      RSocketServ iSocketServ;
      RSocket iSocket;
      TInetAddr iAddress;
    };
    
    #endif // SOCKETENGINE_H
    ======================== Socket Engine Cpp File:
    Code:
    #include "SocketEngine.h"
    
    CSocketEngine::CSocketEngine(CSymapContainer *aContainer) {
      iac = aContainer;
      Init();
    }
    
    CSocketEngine::CSocketEngine() {
      Init();
    }
    
    CSocketEngine::~CSocketEngine() {
      iSocketServ.Close();
    }
    
    void CSocketEngine::Init() {
      User::LeaveIfError(iSocketServ.Connect());
      User::LeaveIfError(iSocket.Open(iSocketServ, KAfInet, KSockStream, KProtocolInetTcp));
    }
    
    void CSocketEngine::Connect() {
      RDebug::Print(_L("*************************** CSocketEngine::Connect(): Start"));
      const TUint32 KInetAddr = INET_ADDR(202,55,242,70);
      iAddress.SetPort(80);
      iAddress.SetAddress(KInetAddr);
      iSocket.Connect(iAddress, iStatus);
      RDebug::Print(_L("*************************** CSocketEngine::Connect(): End"));
    }
    ======================== AppUi Cpp File:

    Code:
    void CSymapAppUi::ConstructL() {
      BaseConstructL();
    
      iac = new (ELeave) CSymapContainer;
      iac->SetMopParent( this );
      iac->ConstructL( ClientRect() );
      AddToStackL( iac );
    
      iSocketEngine = new CSocketEngine(iac);
    }
    
    TKeyResponse CSymapAppUi::HandleKeyEventL(
      const TKeyEvent& aKeyEvent,TEventCode aType) {
      if( aType == EEventKey ) {
        switch( aKeyEvent.iCode ) {
        ...
        case EKeyNum4:
          iSocketEngine->Connect();
          break;
        ...
        }
      }
      return EKeyWasConsumed;
    }
    I get a question:
    Can I do socket conncet without using CActive object?

    Even in old code, it still CRASH at the same line.
    But just now, I found something different.
    I see the Packet Administrator's Received Packets....
    When I press keypad '4', the received packets start increasing.
    After a while(about 1~2 seconds), then app CRASH.
    But the recieved packets still increased.
    It means that the socket engine do connect to socket server actually,
    but by some reasons that I don't know causes app CRASH!!!
    What's the reason you think?


    ======================== Trace:
    *************************** CSocketEngine::Connect(): Start
    *************************** CSocketEngine::Connect(): End
    Thread ID 0x83c is !DBMS serverfe5306c5
    NewThread epoc[00000000]0001::!DBMS serverfe5306c5
    AddLibrary EDBMS[10003b0e]
    GetDriverName() Open file -> can't find file.
    GetDriverName() Open file -> can't find file.
    QueueReadRequest()
    QueueReadRequest() User buffer Ptr Held
    QueueReadRequest() Exit
    AddLibrary csdaemon[101fdde1]
    Thread ID 0xbac is 2dd48b92
    NewThread epoc[00000000]0001::2dd48b92
    The thread 'Win32 Thread' (0xbac) has exited with code -1 (0xffffffff).
    Starter:EnvChange 4
    RemoveThread 2dd48b92
    Thread ID 0x1c8 is DhcpServ2dd6e31c
    NewThread epoc[00000000]0001::DhcpServ2dd6e31c
    AddLibrary DhcpServ[101fd9c5]
    Thread ID 0xa58 is DhcpServ2ddddcfa
    NewThread epoc[00000000]0001::DhcpServ2ddddcfa
    The thread 'Win32 Thread' (0x1c8) has exited with code 0 (0x0).
    Starter:EnvChange 4
    RemoveThread DhcpServ2dd6e31c
    Thread ID 0xbc4 is 2de1009d
    NewThread epoc[00000000]0001::2de1009d
    The thread 'Win32 Thread' (0xbc4) has exited with code 0 (0x0).
    Starter:EnvChange 4
    RemoveThread 2de1009d
    WriteFile()
    0000 FF FF FF FF FF FF 00 00 00 00 00 00 08 00 45 00 ..............E.
    0010 01 48 00 01 00 00 45 11 74 A5 00 00 00 00 FF FF .H....E.t.......
    0020 FF FF 00 44 00 43 01 34 9A 4B 01 01 06 00 3C 07 ...D.C.4.K....<.
    0030 E8 2D 00 00 80 00 00 00 00 00 00 00 00 00 00 00 .-..............
    0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    00A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    00B0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    00C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    00D0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    00E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    00F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    ** Display Truncated **
    ** Completed in WritePacket() **
    0000 FF FF FF FF FF FF 00 20 ED 5B B0 CA 08 00 45 10 ....... .[....E.
    0010 01 48 00 00 00 00 10 11 E7 EB C0 A8 01 02 FF FF .H..............
    0020 FF FF 00 43 00 44 01 34 58 C3 02 01 06 00 3C 07 ...C.D.4X.....<.
    0030 E8 2D 00 00 80 00 00 00 00 00 C0 A8 01 04 C0 A8 .-..............
    0040 01 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    00A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    00B0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    00C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    00D0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    00E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    00F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    ** Display Truncated **
    dispatcher_handler() Dont' Queue
    dispatcher_handler() Complete
    CompleteAction() ldd 0x193300c

    QueueReadRequest()
    QueueReadRequest() User buffer Ptr Held
    QueueReadRequest() Exit
    WriteFile()
    0000 FF FF FF FF FF FF 00 00 00 00 00 00 08 06 00 01 ................
    0010 08 00 06 04 00 01 00 00 00 00 00 00 00 00 00 00 ................
    0020 00 00 00 00 00 00 C0 A8 01 04 ..........
    ** Completed in WritePacket() **
    0000 01 80 C2 00 00 00 00 11 2F 88 D9 75 00 26 42 42 ......../..u.&BB
    0010 03 00 00 00 00 00 80 00 92 E5 7B 12 C5 F5 00 00 ..........{.....
    0020 00 00 80 00 92 E5 7B 12 C5 F5 80 03 00 00 08 00 ......{.........
    0030 02 00 05 00 00 00 00 00 00 00 00 00 ............
    dispatcher_handler() Dont' Queue
    dispatcher_handler() Complete
    CompleteAction() ldd 0x193300c

    QueueReadRequest()
    QueueReadRequest() User buffer Ptr Held
    QueueReadRequest() Exit
    WriteFile()
    0000 FF FF FF FF FF FF 00 00 00 00 00 00 08 06 00 01 ................
    0010 08 00 06 04 00 01 00 00 00 00 00 00 C0 A8 01 04 ................
    0020 00 00 00 00 00 00 C0 A8 01 02 ..........
    ** Completed in WritePacket() **
    0000 00 00 00 00 00 00 00 20 ED 5B B0 CA 08 06 00 01 ....... .[......
    0010 08 00 06 04 00 02 00 20 ED 5B B0 CA C0 A8 01 02 ....... .[......
    0020 00 00 00 00 00 00 C0 A8 01 04 00 00 00 00 00 00 ................
    0030 00 00 00 00 00 00 00 00 00 00 00 00 ............
    dispatcher_handler() Dont' Queue
    dispatcher_handler() Complete
    CompleteAction() ldd 0x193300c

    QueueReadRequest()
    QueueReadRequest() User buffer Ptr Held
    QueueReadRequest() Exit
    WriteFile()
    0000 00 20 ED 5B B0 CA 00 00 00 00 00 00 08 00 45 00 . .[..........E.
    0010 00 3C 00 02 40 00 45 06 B7 8F C0 A8 01 04 CA 37 .<..@.E........7
    0020 F2 46 B4 9A 00 50 01 BC 8A F7 00 00 00 00 A0 02 .F...P..........
    0030 BC 34 83 09 00 00 02 04 05 B4 08 0A AA AF 9F 50 .4.............P
    0040 00 00 00 00 04 02 03 03 00 00 ..........
    ** Completed in WritePacket() **
    0000 00 00 00 00 00 00 00 20 ED 5B B0 CA 08 00 45 00 ....... .[....E.
    0010 00 3C 00 00 40 00 34 06 C8 91 CA 37 F2 46 C0 A8 .<..@.4....7.F..
    0020 01 04 00 50 B4 9A 01 26 03 A5 01 BC 8A F8 A0 12 ...P...&........
    0030 16 A0 F8 22 00 00 02 04 05 AC 04 02 08 0A 1C 39 ..."...........9
    0040 0E 6E AA AF 9F 50 01 03 03 00 .n...P....
    dispatcher_handler() Dont' Queue
    dispatcher_handler() Complete
    CompleteAction() ldd 0x193300c

    QueueReadRequest()
    QueueReadRequest() User buffer Ptr Held
    QueueReadRequest() Exit
    Unhandled exception at 0x60018865 in epoc.exe: User breakpoint.

  14. #14
    Registered User
    Join Date
    Jan 2005
    Location
    Helsinki, Finland
    Posts
    257

    Re: RSocket in emulator...

    First of all, there is no way to do it without active object. Becuase all methods that you need in RSocket are asynchronous. And if you want to use asynchronous methods, you have to inherit from CActive class. So your old code must not work. You may send your socket engine .cpp and .h file to me, I will check it and let you what is going wrong. My email is shumonmitu@hotmail.com

  15. #15
    Registered User
    Join Date
    Jan 2005
    Posts
    32

    Re: RSocket in emulator...

    Thanks for your kindly support.
    I already mail the project code to you...
    And I am studying the detail of active object, maybe it's the key I lack.
    Very very thankful!!!!!

    I will go to Japan for vacation tomorrow by 5 days.
    So, I am sorry that I can't give fast response util I back.

    FireStoke

Similar Threads

  1. Emulator screen gone... Help needed
    By meihuadao in forum Symbian Tools & SDKs
    Replies: 4
    Last Post: 2006-03-22, 13:30
  2. Connect Nokia 7650 Emulator to Internet via modem/RAS on Win2000/WinXP Pro
    By Youth_Jack in forum Symbian Networking & Messaging (Closed)
    Replies: 5
    Last Post: 2006-02-05, 17:48
  3. Need the information about the Nokia Emulator tool
    By cs423321 in forum Bluetooth Technology
    Replies: 1
    Last Post: 2005-03-17, 13:18
  4. Using BT with emulator
    By hrajalin in forum Bluetooth Technology
    Replies: 1
    Last Post: 2002-10-30, 10:15
  5. EAIF Emulator doesn't works properly in my case
    By savitaamin in forum General Messaging
    Replies: 1
    Last Post: 2002-08-14, 12:07

Posting Permissions

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