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 */
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 */
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; }
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 */