Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //SCHIMBA NUMERE INTRE ELE
- #include <sys/types.h>
- #include <sys/socket.h>
- #include <stdio.h>
- #include <netinet/in.h>
- #include <netinet/ip.h>
- #include <string.h>
- #include <unistd.h>
- #include <arpa/inet.h>
- #include <stdlib.h>
- int main(int argc, char* argvs[]) {
- int s,l;
- struct sockaddr_in server, client1, client2;
- s = socket(AF_INET, SOCK_DGRAM, 0);
- //VERIFICARE --------
- int port = atoi(argvs[1]);
- if(port<1024 || port>65535){
- printf("Portul nu convine!\n");
- return 1;
- }
- //VERIFICARE --------
- if (s < 0) {
- printf("Eroare la crearea socketului server\n");
- return 1;
- }
- memset(&server, 0, sizeof(server));
- server.sin_port = htons(port);
- server.sin_family = AF_INET;
- server.sin_addr.s_addr = INADDR_ANY;
- if (bind(s, (struct sockaddr *) &server, sizeof(server)) < 0) {
- printf("Eroare la bind\n");
- return 1;
- }
- l = sizeof(server);
- uint16_t nr1,nr2;
- recvfrom(s, &nr1, sizeof(nr1), MSG_WAITALL, (struct sockaddr *) &client1, &l);
- recvfrom(s, &nr2, sizeof(nr2), MSG_WAITALL, (struct sockaddr *) &client2, &l);
- sendto(s, &nr2, sizeof(nr2), 0, (struct sockaddr *) &client1, sizeof(client1));
- sendto(s, &nr1, sizeof(nr1), 0, (struct sockaddr *) &client2, sizeof(client2));
- close(s);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement