Last active
August 29, 2015 13:55
-
-
Save Moddus/8709614 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
fd = socket(AF_INET, SOCK_DGRAM, 0); | |
server_addr.sin_family = AF_INET; | |
#ifdef HAVE_SIN_LEN | |
server_addr.sin_len = sizeof(struct sockaddr_in); | |
#endif | |
server_addr.sin_addr.s_addr = "127.0.0.1"; | |
server_addr.sin_port = htonl(7); | |
memset((void *) buf, ’A’, sizeof(buf)); | |
addr_len = 0; | |
sendto(fd, (const void *) buf, sizeof(buf), 0, (const struct sockaddr *) server_addr, (socklen_t) sizeof(server_addr)); | |
len = recvfrom(fd, (void *) buf, sizeof(buf), 0, (struct sockaddr *) &client_addr, (socklen_t *)&addr_len)); | |
printf("Received %d bytes from %s:%d.\n", ntohl(len), inet_ntoa(client_addr.sin_addr), server_addr.sin_port); | |
close(fd); | |
/* | |
* 8. IP-Adresse wird als String zugewiesen und das geht nicht ( inet_addr() nutzen ). | |
* 9. htonl ist hier falsch, es muss htons verwendet werden. | |
* 12. addr_len wird in Zeile 14 als value result parameter genutzt und somit ist die Zweisung = 0 falsch. | |
* 15. len wird mit ntohl(len) in host order umgewandelt, das ist nicht nötig, da der Wert schon in host order ist. | |
* 15. server_addr.sin_port muss hingegen in host order (ntohs()) umgewandelt werden. | |
*/ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
* Anmerkung alle Funktionsaufrufe prüfen, ob der return Wert < 0 ist. | |
* Sollte das der Fall sein beenden diese das Programm. | |
* | |
* server_ip gegeben als String | |
* server_port gegeben als int | |
*/ | |
server.ip = inet_addr( server_ip ) | |
server.port = htons( server_port ) | |
fd = Socket( IPv4, SOCK_STREAM, TCP ) | |
Connect( fd, server, len( server ) ) | |
while ( ( len = read_stdin( data ) ) > 0 ) | |
{ | |
send( df, data, len( data ) ) | |
} | |
Close( fd ) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
* Anmerkung alle Funktionsaufrufe prüfen, ob der return Wert < 0 ist. | |
* Sollte das der Fall sein beenden diese das Programm. | |
*/ | |
fd = Socket( IPv4, SOCK_STREAM, TCP ) | |
Bind( fd, any, len( any ) ) | |
Listen( fd, 1 ) | |
for (;;) | |
{ | |
cfd = accept( fd, client, len(client) ) | |
glen = 0 | |
while( ( len = Recv( cfd, buffer, len(buffer), 0) ) > 0 ) | |
{ | |
glen += len | |
} | |
print inet_ntop( client.ip ) + "port:" + ntohs( client.port ) + " read: " + glen | |
Close( cfd ) | |
} | |
Close( fd ) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
* Anmerkung alle Funktionsaufrufe prüfen, ob der return Wert < 0 ist. | |
* Sollte das der Fall sein beenden diese das Programm. | |
* | |
* server_ip gegeben als String | |
* server_port gegeben als int | |
*/ | |
server.ip = inet_addr( server_ip ) | |
server.port = htons( server_port ) | |
fd = socket( IPv4, SOCK_DGRAM, UDP ) | |
while ( ( len = read_stdin( data ) ) > 0 ) | |
{ | |
sendto( df, data, len( data ), server, len( server ) ) | |
} | |
Close( fd ) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
* Anmerkung alle Funktionsaufrufe prüfen, ob der return Wert < 0 ist. | |
* Sollte das der Fall sein beenden diese das Programm. | |
*/ | |
fd = Socket( IPv4, SOCK_DGRAM, UDP ) | |
Bind( fd, any, len( any ) ) | |
len = sizeof(struct sockaddr_in); | |
for (;;) | |
{ | |
// client ist hier als value result argument zu verstehen | |
glen = recvfrom( fd, data, len( data ), client, &len ) | |
print inet_ntop( client.ip ) + "port:" + ntohs( client.port ) + " read: " + glen | |
} | |
Close( fd ) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment