Пример #1
0
main ()
{
SOCKET LSock, CSock;
unsigned short usPort=80;
int Rc;
char szVer [128];

  Tcp4uVer (szVer, sizeof szVer);
  printf ("Using %s\n", szVer);

  /* --- prepare a listening connection */
  Tcp4uInit ();
  Rc = TcpGetListenSocket (& LSock, "http", & usPort, 1);
  if (Rc!=TCP4U_SUCCESS)
  {
     printf ("%s\n", Tcp4uErrorString(Rc));
     return 0;
  }
  /* --- now listen at port */
  Rc = TcpAccept (&CSock, LSock, 0);
  while (Rc>=TCP4U_SUCCESS)
  {
    /* now the application code. Note that you can fork or creat */
    /* a new thread in order to create a multi-user server       */
    /* --- in this app, we listen at the opened socket */
    Rc = TnReadLine (CSock, szBuf, sizeof szBuf, 60, HFILE_ERROR);
    if (Rc>=TCP4U_SUCCESS)  printf ("%s\n", szBuf);
  }
  TcpClose (& CSock);
  Tcp4uCleanup ();
return 0;
}  /* main */   
Пример #2
0
int _export PASCAL FAR FtpRelease (void)
{
LPProcData pProcData;

   pProcData = ToolsLocateProcData ();
   if (pProcData == NULL)  return FTPERR_NOACTIVESESSION;

   if (Tcp4uCleanup ()!=TCP4U_SUCCESS)  return FTPERR_STILLCONNECTED;
   

   /* si une seule appli est enregistre detruire la fenetre */
#ifdef UNE_FENETRE
   if (pProcData==pFirstProcData  && pProcData->Next==NULL)
   {
	 DestroyWindow (pProcData->hFtpWnd);  /* Avant le UnregisterClass */
     UnregisterClass (FTP4W_CLASS_NAME, pProcData->hInstance);
   }
#else   
   DestroyWindow (pProcData->hFtpWnd);  /* Avant le UnregisterClass */
   if (pProcData==pFirstProcData  && pProcData->Next==NULL)
	     UnregisterClass (FTP4W_CLASS_NAME, pProcData->hInstance);
#endif	 
   if (pProcData->Next != NULL)  pProcData->Next->Prev = pProcData->Prev;
   if (pProcData->Prev != NULL)  pProcData->Prev->Next = pProcData->Next;
   else                          pFirstProcData = pProcData->Next;
   Free (pProcData);
return FTPERR_OK;
} /* FtpRelease */
Пример #3
0
int main (int argc, char *argv[])
{
int Rc;
LPUDPSOCK lpSock=NULL;
char szVer [128];
int  nTries=0;
unsigned short nPort;

  if (argc<2)  Usage();
  if (argc==3  &&  strcmp (argv[1], "-v")==0)  Tcp4uEnableLog (LOG4U_DUMP);

  Tcp4uVer (szVer, sizeof szVer);   printf ("Using %s\n", szVer);
  Tcp4uInit();

  nPort = Udp4uServiceToPort ("echo");
  printf ("echo port is %u\n", nPort);

  Rc = UdpInit (& lpSock, argv[argc-1], nPort, 0);
  if (Rc>=TCP4U_SUCCESS) 
     Rc = UdpBind (lpSock, TRUE, UDP4U_CLIENT);
  
  if (Rc<TCP4U_SUCCESS) 
  {
    printf ("Error %d/%d: <%s>\n", Rc, errno, Tcp4uErrorString (Rc));
    return 0;
  }

  /* send 3 datagrams */
     nTries++;
     do
     {
        Rc = UdpSend (lpSock, STRING, sizeof STRING, 0, HLOG);
        if (Rc>=TCP4U_SUCCESS) 
           Rc= UdpRecv (lpSock, buf, sizeof buf, 5, HLOG);
        nTries++;
     }
     while (nTries <= 3 && Rc==TCP4U_TIMEOUT);

  if (Rc>=TCP4U_SUCCESS) 
       printf ("Server sends %d bytes. String <%s>\n", Rc, buf);
  else printf ("Error %d/%d: <%s>\n", Rc, errno, Tcp4uErrorString (Rc));

  if (lpSock!=NULL)   UdpCleanup (lpSock);
  Tcp4uCleanup();
return 0;
}
Пример #4
0
int main (void)
{
int    Rc;
char   szVer [128];
char   szName [289];
DWORD  dwIP;
unsigned char  *pIP = & dwIP;   /* How to display it */

   Tcp4uVer (szVer, sizeof szVer);
   printf ("Using %s\n", szVer);
   Tcp4uInit();
 
   Rc = TcpGetLocalID (szName, sizeof szName, & dwIP);
   printf ("This server is <%s>, Address %u.%u.%u.%u\n",
            szName,
            pIP[0], pIP[1], pIP[2], pIP[3]);

   Tcp4uCleanup();
return 0;
} /* main */