![]() |
|
|
Google unix.com
|
|||||||
| Foren | Registrieren | Forum-Regeln | Links | Alben | FAQ | Benutzerliste | Kalender | Suche | Die heutige Beiträge | Alle Foren als gelesen markieren |
| UNIX für Fortgeschrittene und Experten Expert-to-Experte. Erfahren Sie fortgeschrittene UNIX-, UNIX-Kommandos, Linux-Betriebssysteme, System-Administration, Programmierung, Shell, Shell-Skripte, Solaris, Linux, HP-UX, AIX, OS X, BSD. |
Mehr UNIX-und Linux-Forum Themen Vielleicht finden Sie hilfreiche
|
||||
| Faden | Thread Starter | Forum | Antworten | Last Post |
| Problem bei HP-Unix beim Schreiben in die Steckdose | AshokG | HP-UX | 0 | 02-25-2005 02:19 AM |
| Socket Socket-Programmierung | soshell | High-Level-Programmierung | 2 | 06-29-2004 08:49 AM |
| Wie kann ich in der Unix-Socket-Programm? | sanjohn | High-Level-Programmierung | 7 | 06-21-2002 12:26 AM |
| So verwenden Sie die Buchse | niuzefeng | High-Level-Programmierung | 1 | 06-30-2001 02:15 PM |
| Sockel | amin | IP-Networking | 1 | 02-10-2001 04:45 PM |
![]() |
|
|
LinkBack | Thread Tools | Suche diesen Thread | Rate Thread | Anzeige-Modi |
|
|
|
||||
|
Unix: Sockel & Co
Hallo,
Ich brauche Hilfe zu ersetzen ................. client.c, dass der Antrag der Server durch server.c ------------------ Listing 1 - server.c / * Integration des différentes 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; / * Sockel mise en place côté serveur * / int serv_sock; / * Sockel mise en place Côté Client * / int cli_sock; / * Adresse de la Buchse distante * / struct sockaddr_in localaddr; / * Longueur de l'adresse * / socklen_t localaddr_len; / * Longueur 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-Buchse'') exit (-1); ) / * Mise en place de la Struktur décrivant l'adresse * Et le port qui seront associés à la socket * / bzero ((char *) & localaddr, localaddr_len); / * Protocole Internet * / localaddr.sin_family \u003d AF.INET; / * Am écoute sur l'adresse de BOUCLE locale * / localaddr.sin_addr.s_addr \u003d inet_addr (127.0.0.1''''); / * Am écoute sur le Port 1234 * / localaddr.sin_port \u003d htons (1234); / * Am Attache la-Buchse au Port 1234 sur * L'adresse Gebietsschema 127.0.0.1 * / if (bind (serv_sock, (struct sockaddr *) & localaddr, localaddr_len) \u003d\u003d -1) ( perror (''Impossible d'attacher la Buchse''); exit (-1); ) / * Mise en place de l'écoute sur la socket * / if (listen (serv_sock, 1) \u003d\u003d -1) ( perror (''Impossible d'Écouter sur la Buchse''); exit (-1); ) / * Am accepte les Connexions entrantes * / cli_sock \u003d accept (serv_sock, (struct sockaddr *) & distaddr, & distaddr_len); if (cli_sock \u003d\u003d -1) ( perror (''Erreur de connexion du Client''); exit (-1); ) / * Auf recoit la première operande * / res \u003d recv (cli_sock, &buf; sizeof (int), 0); if (res! \u003d sizeof (int)) ( perror (''Données recues incorrectes''); close (serv_sock); exit (-1); ) a \u003d ntohl (buf); printf (''reçu:% d / n'', a); / * Am recoit La deuxième operande * / res \u003d recv (cli_sock, & buf, sizeof (in), 0); if (res! \u003d sizeof (int)) ( perror (''Données recues incorrectes''); close (serv_sock); exit (-1); ) b \u003d ntohl (buf); printf (''reçu:% d \ n'', b); htonl buf \u003d (a + b); printf (''Envoi:% d \ n'', a + b); / * Am envoie le Ergebnis * / res \u003d send (cli_sock, & buf, sizeof (int), 0); if (res! \u003d sizeof (int)) ( perror (''Erreur de Übermittlung de données''); close (serv_sock); exit (-1) ) close (serv_sock); close (cli_sock); return (); ) ----------------- Listing 2 - client.c / / Eingliederung des différentes 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; / * Sockel mise en place cote serveur * / int serv_sock; / * Sockel mise en place cote-Client * / int cli_sock; / * Adresse de la Buchse distante * / struct sockaddr_in distaddr; / * Longueur de l'adresse * / socklen_t distaddr_len; distaddr_len \u003d sizeof (distaddr); a \u003d htonl (123); b \u003d btonl (124); / * Creation de la socket * / cli.sock \u003d ............................. if (cli_sock \u003d\u003d -1) ( perror (''Impossible de creer la-Buchse''); exit (-1); ) / * Mise en place de la Struktur decrivant * L'adresse et le port qui seront ASSOCIES * A-la-Buchse * / bzero ((char *) & distaddr, distaddr_len); / * Protocole Internet * / distaddr.sin_family \u003d ....................... / * Am se connecte sur l'adresse de BOUCLE locale * / distaddr.sin_addr.s_addr \u003d inet_addr (''127.0.0.1 "); / * Am se connecte sur le Port 1234 * / distaddr.sin.port \u003d ............................. / * Connexion au serveur * / serv_sock \u003d .................................... if (serv_sock \u003d\u003d -1) ( perror (''Impossible de se Verbindungskabel''); ) / * Am envoi la Premiere operande * / res \u003d ..................................... if (res! \u003d sizeof (int)) ( perror (''Impossible d'envoyer les données''); close (cli_sock); exit (-1); ) / * Am envoie la seconde operande * / res \u003d send (cli_sock, & b, sizeof (int), 0); if (res! \u003d sizeof (int)) ( perror (''Impossible d'envoyer les données''); close (cli_sock); exit (-1); ) / * Am recupere le Ergebnis * / res \u003d .................................... if (res! \u003d sizeof (int)) ( perror (''Impossible de lire les données''); close (cli_sock); exit (-1); ) printf (''Bewertung:% d \ n'', ntohl (buf)); ............................. close (serv_sock); return 0; ) |
![]() |
| Lesezeichen |
| Thread Tools | Suche diesen Thread |
| Anzeige-Modi | Rate this thread |
|
|