|
|
|
Socket
|
|||
|---|---|---|---|
|
#18+
Gospoda u menya ogromnaya problema Est failik #include <stdio.h> /* Aufgabenstellung clientSys.c - Win32 Konsole Version - connectionless */ #include <string.h> #include <errno.h> /* #include <netdb.h>*/ #include "..\data.h" #include "..\error.c" #include <winsock2.h> static struct answer answ; extern int errno; /***********************************/ /*** Definiere Portnummer "2000" ***/ /***********************************/ /************************************************/ /*** Deklariere Socketdeskriptor "s" statisch ***/ /************************************************/ s = socket (af, type, protocol) /******************************************************/ /*** Deklariere die Socketadresse "remote" statisch ***/ /******************************************************/ void test(int retval,char *text) { if (retval < 0) { perror(text); exit(1); }; }; /* test */ void initClient(char *name) { struct hostent *hostptr; WSADATA wsaData; WORD wVersionRequested; wVersionRequested = MAKEWORD(2,1); if( WSAStartup( wVersionRequested,&wsaData ) == SOCKET_ERROR ){ printf("CLIENT: WSAStartup() failed!\n"); printf(" error code: %d\n",WSAGetLastError()); exit(-1); } /* Create an endpoint for communication */ /***************************************/ /*** Initialisiere die Adressfamilie ***/ /***************************************/ /************************************/ /*** Initialisiere die Portnummer ***/ /************************************/ /* Initialisieren der Adresse */ if (name != 0 ) { /* Es wurde ein Name eingegeben */ /*****************************************************/ /*** Ueberpruefe ob der Name einer Internetadresse ***/ /*** zugeordnet werden kann ***/ /*****************************************************/ { if ( (hostptr = gethostbyname(name)) != 0) { /* Hostname gefunden */ /********************************************************/ /*** Initialisiere mit den Namen des entfernten Hosts ***/ /********************************************************/ } else { /* Hostname nicht gefunden */ printf ("Error: Illegal name \n"); exit(-1); }; }; } else { /* Es wurde kein Name eingegeben -> lokale Socketverbindung */ /**************************************************/ /*** Kennzeichne die Socketverbindung als lokal ***/ /**************************************************/ }; }; /* initClient */ struct answer *DoRequest(struct request *req) { int timeout; int retlen; int recvcc; int fromlen; /* Send a message from a socket */ /**********************************************************/ /*** Erzeuge Socket mit Internet-Adressformat, ***/ /*** verbindungsloser Dienst und mit Internet-Protokoll ***/ /**********************************************************/ /**********************************************/ /*** Schreibe in das Socket die Anfrage req ***/ /**********************************************/ /* Receive a message from a socket */ while (1) { /****************************************************************/ /*** Lese die Antwort vom Socket und speichere sie in answ ab ***/ /****************************************************************/ { printf ("error recvfrom"); return(0); }; break; } /* Delete a descriptor */ /************************/ /*** Schliesse Socket ***/ /************************/ return(&answ); }; void closeClient(){ if (WSACleanup()==SOCKET_ERROR){ printf("CLIENT: WSACleanup() failed!\n"); printf(" error code: %d\n",WSAGetLastError()); exit(-1); } } Kak tuda dobavit soket dlya ustanovleniya soedineniya ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2005, 11:15 |
|
||
|
Socket
|
|||
|---|---|---|---|
|
#18+
Немецкий я не понимаю. Вот пример функции для установления соединения, который можно добавить к программе, вызвав из initClient. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. пример вызова Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2005, 12:33 |
|
||
|
|

start [/forum/topic.php?fid=57&gotonew=1&tid=2033123]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
75ms |
get topic data: |
11ms |
get first new msg: |
11ms |
get forum data: |
4ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
| others: | 235ms |
| total: | 414ms |

| 0 / 0 |
