The UNIX and Linux Forums  


Go Back   De Unix-en Linux Forum > Top Forums > UNIX for Advanced & Expert Gebruikers
.
google unix.com



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

 
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Zoeken in deze Thread Rate Thread Display Modes
  #1 (permalink)  
Old 05-20-2008
bounkolh bounkolh is offline
Geregistreerde gebruiker
  
 

Join Date: mei 2008
Krabbels: 1
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
Zoeken in deze Thread:

Uitgebreid zoeken
Display Modes Beoordeel deze draad
Beoordeel deze draad:

Posting Regels
Jij mag niet Post Nieuwe threads
Jij mag niet na antwoorden
Jij mag niet post attachments
Jij mag niet bewerk uw berichten

BB code is Aan
Smilies zijn Aan
[IMG] code Aan
HTML-code is Uit
Trackbacks zijn Aan
Pingbacks zijn Aan
Refbacks zijn Aan




Alle tijden zijn GMT -4. Het is nu 09:30.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Vertalingen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
De Unix-en Linux Forums Copyright © 1993-2009. Alle rechten Reserved.Ad Beheer door RedTyger

Content Relevante URL's door vBSEO 3.2.0