The UNIX and Linux Forums  

Go Back   Die UNIX-und Linux-Foren > Top Foren > UNIX für Fortgeschrittene und Experten
.
Google unix.com



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

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Suche diesen Thread Rate Thread Anzeige-Modi
  #1 (permalink)  
Old 05-20-2008
bounkolh bounkolh is offline
Registrierte Nutzer
  
 

Registriert seit: Mai 2008
Beiträge: 1
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;
)
Closed Thread

Lesezeichen

Thread Tools Suche diesen Thread
Suche diesen Thread:

Erweiterte Suche
Anzeige-Modi Rate this thread
Rate this thread:

Forumregeln
Du möglicherweise nicht neue Themen
Du möglicherweise nicht nach Antworten
Du möglicherweise nicht post-Anlagen
Du möglicherweise nicht bearbeiten Sie Ihre Beiträge

BB-Code ist Auf
Smilies sind Auf
[IMG] Code Auf
HTML-Code ist Aus
Trackbacks sind Auf
Pingbacks sind Auf
Refbacks sind Auf




Alle Zeiten sind GMT -4. Es ist jetzt 10:02 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Ltd. Sprachliche Übersetzungen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Die UNIX-und Linux-Foren Content © Copyright 1993-2009. Alle Rechte Reserved.Ad Management von RedTyger

Content Relevant URLs durch vBSEO 3.2.0