![]() |
|
|
google unix.com
|
|||||||
| Forums | Registreer | Forum Regels | Links | Albums | Veelgestelde vragen | Ledenlijst | Kalender | Zoeken | Today's Posts | Markeer forums als gelezen |
| UNIX for Advanced & Expert Gebruikers Expert-to-Expert. Hier geavanceerde UNIX-, UNIX-commando's, Linux, Operating Systems, System Administration, programmering, Shell, Shell scripts, Solaris, Linux, HP-UX, AIX, OS X, BSD. |
Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
|
||||
| Draad | Thread Starter | Forum | Antwoorden | Last Post |
| Probleem met HP-Unix, terwijl schriftelijk in aansluiting | AshokG | HP-UX | 0 | 02-25-2005 02:19 |
| Socket Programming socket | soshell | Hoog Niveau Programmering | 2 | 06-29-2004 08:49 |
| Hoe kan ik programma socket in unix? | sanjohn | Hoog Niveau Programmering | 7 | 06-21-2002 12:26 AM |
| Hoe gebruik te maken van de aansluiting | niuzefeng | Hoog Niveau Programmering | 1 | 06-30-2001 02:15 PM |
| socket | amin | IP Networking | 1 | 02-10-2001 04:45 PM |
|
|
LinkBack | Thread Tools | Zoeken in deze Thread | Rate Thread | Display Modes |
|
||||
|
Unix: socket & Co
Hallo,
Ik heb hulp nodig bij het vervangen van de ................. client.c van dat verzoek de server uitgevoerd door server.c ------------------ Listing 1 - server.c / * Opneming des differentes Bibliotheken nécessaires * / # include <stdio.h> # include <stdlib.h> # include <unistd.h> # include <string.h> # include <sys/types.h> # include <sys/socket.h> # include <netinet.in.h> # include <arpa.inet.h> int main (int argc, char * argv []) ( int res; / * Operandes * / int a, b, buf; / * Socket mise en plaats côte serveur * / int serv_sock; / * Socket mise en plaats côte client * / int cli_sock; / * Adresse de la socket Distante * / struct sockaddr_in localaddr; / * Lengte de l'adresse * / socklen_t localaddr_len; / * Lengte de l'adresse * / socklen_t distaddr_len; localaddr_len \u003d sizeof (localaddr); / * Mise en place de la socket * / serv_sock \u003d socket (AF_INET.SOCK_STREAM, 0); if (serv_sock \u003d socket (AF_INET.SOCK_STREAM, 0); if (serv_sock \u003d\u003d -1) ( perror (''Impossible de creer la socket'') exit (-1); ) / * Mise en place de la structuur décrivant l'adresse * Et le port qui zullen worden associes à la socket * / bzero ((char *) & localaddr, localaddr_len); / * Protocole Internet * / localaddr.sin_family \u003d AF.INET; / * Op ecoute sur l'adresse de BOUCLE locale * / localaddr.sin_addr.s_addr \u003d inet_addr (''127.0.0.1''); / * Op ecoute sur le poort 1234 * / localaddr.sin_port \u003d htons (1234); / * Op attache la socket au poort 1234 sur * L'adresse landinstelling 127.0.0.1 * / if (bind (serv_sock, (struct sockaddr *) & localaddr, localaddr_len) \u003d\u003d -1) ( perror (''Onmogelijke d'attacher la socket''); exit (-1); ) / * Mise en place de l'ecoute sur la socket * / if (luisteren (serv_sock, 1) \u003d\u003d -1) ( perror (''Onmogelijke d'Ecouter sur la socket''); exit (-1); ) / * Op accepte les connecties entrantes * / cli_sock \u003d aanvaarden (serv_sock, (struct sockaddr *) & distaddr, & distaddr_len); if (cli_sock \u003d\u003d -1) ( perror (''Erreur de connexion du client''); exit (-1); ) / * Op recoit la première operande * / res \u003d recv (cli_sock, &buf; sizeof (int), 0); if (res! \u003d sizeof (int)) ( perror (''Donnees recues incorrectes''); close (serv_sock); exit (-1); ) a \u003d nthol (buf); printf (''Recu:% d / n'', a); / * Op recoit la tweede operande * / res \u003d recv (cli_sock, & buf, sizeof (in), 0); if (res! \u003d sizeof (int)) ( perror (''Donnees recues incorrectes''); close (serv_sock); exit (-1); ) b \u003d nthol (buf); printf (''Recu:% d \ n'', b); buf \u003d htonl (a + b); printf (''envoi:% d \ n'', a + b); / * Op envoie le resultat * / res \u003d send (cli_sock, & buf, sizeof (int), 0); if (res! \u003d sizeof (int)) ( perror (''Erreur de transmissie de donnees''); close (serv_sock); exit (-1) ) close (serv_sock); close (cli_sock); rendement (); ) ----------------- Listing 2 - client.c / / Integratie des differentes Bibliotheken necessaires # include <stdio.h> # include <stdlib.h> # include <unistd.h> # include <string.h> # include <sys/types.h> # include <sys/socket.h> # include <netinet/in.h> # include <arpa/inet.h> int main (int argc, char * argv []) ( int res; / * Operandes * / int a, b, buf; / * Socket mise en plaats cote serveur * / int serv_sock; / * Socket mise en plaats cote cliënt * / int cli_sock; / * Adresse de la socket Distante * / struct sockaddr_in distaddr; / * Lengte de l'adresse * / socklen_t distaddr_len; distaddr_len \u003d sizeof (distaddr); a \u003d htonl (123); b \u003d btonl (124); / * Aanmaak de la socket * / cli.sock \u003d ............................. if (cli_sock \u003d\u003d -1) ( perror (''Impossible de creer la socket''); exit (-1); ) / * Mise en place de la structuur decrivant * L'adresse et le port qui zullen worden Associes * A la socket * / bzero ((char *) & distaddr, distaddr_len); / * Protocole Internet * / distaddr.sin_family \u003d ....................... / * Op se connecte sur l'adresse de BOUCLE locale * / distaddr.sin_addr.s_addr \u003d inet_addr (''127.0.0.1 "); / * Op se connecte sur le poort 1234 * / distaddr.sin.port \u003d ............................. / * Connexion au serveur * / serv_sock \u003d .................................... if (serv_sock \u003d\u003d -1) ( perror (''Impossible de se connecter''); ) / * Op envoi la première operande * / res \u003d ..................................... if (res! \u003d sizeof (int)) ( perror (''Onmogelijke d'envoyer les DONNEES''); close (cli_sock); exit (-1); ) / * Op envoie la seconde operande * / res \u003d send (cli_sock, & b, sizeof (int), 0); if (res! \u003d sizeof (int)) ( perror (''Onmogelijke d'envoyer les DONNEES''); close (cli_sock); exit (-1); ) / * Op recupere le resultat * / res \u003d .................................... if (res! \u003d sizeof (int)) ( perror (''Impossible de lire les DONNEES''); close (cli_sock); exit (-1); ) printf (''resultat:% d \ n'', nthol (buf)); ............................. close (serv_sock); return 0; ) |
| Bladwijzers |
| Thread Tools | Zoeken in deze Thread |
| Display Modes | Beoordeel deze draad |
|
|