Hi all,
        I'm using GCC in Windows platform. Below is code in a function
which is fired on clicking a button. Everything is fine until
NetLibSocketAccept is executed , after this function my POSE hangs.
Please help me !

-Aaron

Boolean Listen()
{
  Boolean res = false;

  myErr = SysLibFind("Net.lib", &AppNetRefnum);
 if (myErr)
 {
  WinDrawChars("no tcp/ip",9,45,50);
 }
 else
 {
  WinDrawChars("yes tcp/ip",10,45,50);
 }
 myErr = NetLibOpen(AppNetRefnum, &myIfErr);
 if (myErr || myIfErr)
 {
  WinDrawChars("can not open tcp/ip",19,45,60);
  NetLibClose(AppNetRefnum, false);
  res = false;
  }
 else
 {
  WinDrawChars("can open tcp/ip",15,45,60);
  socket=NetLibSocketOpen(AppNetRefnum,netSocketAddrINET,
   netSocketTypeStream,netSocketProtoIPTCP,-1,&myErr);
  if (socket == -1)
  {
   WinDrawChars("Can't open socket",17,55,70);
   NetLibClose(AppNetRefnum, false);
   res = false;
  }
  else
  {
   WinDrawChars("socket open",11,55,70);
   ipaddr = NetLibAddrAToIN(AppNetRefnum,"192.168.1.133");
   if (ipaddr == -1)
   {
    WinDrawChars("ip error",8,55,80);
    NetLibClose(AppNetRefnum, false);
    res = false;
   }
   else
   {
     mySockAddr1.addr=ipaddr;
     mySockAddr1.family=netSocketAddrINET ;
     //  mySockAddr1.port= NetHToNS(2000);  // if i assign port no. Bind
command gives me err
     addrlen=sizeof(mySockAddr1);
     res = NetLibSocketBind(AppNetRefnum, socket,
      (NetSocketAddrType*)&mySockAddr1,addrlen,-1,&myErr);
     if (myErr)
     {
      WinDrawChars("Bind err",8,55,100);
      NetLibClose(AppNetRefnum, false);
      res = false
     }
     else
     {
      WinDrawChars("Bind ok",7,55,100);
       res = NetLibSocketListen(AppNetRefnum, socket, 1,-1,&myErr);
      res = false;
      if (myErr)
      {
       WinDrawChars("Listen Err",10,55,110);
       NetLibClose(AppNetRefnum, false);
      }
      else
      {
       WinDrawChars("Listen Ok",9,55,110);
       addrlen = sizeof(RHSockAddr);
       res = NetLibSocketAccept(AppNetRefnum, socket,
         (NetSocketAddrType*)&RHSockAddr,&addrlen,-1,&myErr);  // here
is problem
       if (myErr)
       {
        WinDrawChars("Accept err",10,55,120);
        res = false;
       }
       else
       {
        listen = 1;
        startread();
        res = true;
       }
      }

     }
   }

  }
 }
 return res;
}


-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/tech/support/forums/

Reply via email to