Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <sys/param.h>
- #include <sys/types.h>
- #include <sys/socket.h>
- #include <netinet/in.h>
- #include <sys/time.h>
- #include <netdb.h>
- #include <unistd.h>
- #include <string.h>
- #include <stdio.h>
- #include <stdlib.h>
- #include <errno.h>
- #include <signal.h>
- #include <wait.h>
- void main () {
- int i, verbose = 0, port_number, rexmt;
- char option, hostname[16];
- /* Socket data */
- int in_socket_id, socket_id, server_socket_sz;
- struct sockaddr_in client_socket, server_socket, in_socket;
- struct hostent *hostp;
- /* Transmission data */
- char msg_buffer[1024], data_buffer[512], error[300], ack[4];
- int offset = 0, bytes_rcvd, ack_recvd;
- unsigned short block_number, opcode;
- if ((socket_id = socket(PF_INET, SOCK_DGRAM, 0)) < 0) {
- return;
- }
- in_socket.sin_family = AF_INET;
- in_socket.sin_port = htons(0);
- in_socket.sin_addr.s_addr = INADDR_ANY;
- if (bind(socket_id, (struct sockaddr *) &in_socket, sizeof(in_socket)) == -1) {
- return;
- }
- if ((hostp = gethostbyname(hostname)) == 0) {
- return;
- }
- bzero((char *) &client_socket, sizeof(client_socket));
- client_socket.sin_family = AF_INET;
- client_socket.sin_port = htons(8724);
- bcopy(hostp->h_addr, (char *) &client_socket.sin_addr, hostp->h_length);
- bzero(msg_buffer,sizeof(msg_buffer));
- memcpy(msg_buffer,"mensaje\0",sizeof("mensaje\0"));
- socklen_t client_socket_len = sizeof(struct sockaddr_in);
- if (sendto(socket_id, msg_buffer, sizeof(msg_buffer), 0, (struct sockaddr *) &client_socket, client_socket_len) < 0) {
- return;
- }
- bzero(msg_buffer,sizeof(msg_buffer));
- if(recvfrom(socket_id, msg_buffer, sizeof(msg_buffer), 0, (struct sockaddr *) &client_socket, &client_socket_len) == -1) {
- return;
- }
- printf("%s\n", msg_buffer);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement