1 #include "../src/kernel/swift.h"
3 #include <sys/socket.h>
7 #include <netinet/in.h>
11 int main(int argc, const char *argv[])
16 sock = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP);
18 perror("Failed to create socket");
22 struct sockaddr_in saddr;
23 memset(&saddr, 0, sizeof(saddr));
25 inet_pton(AF_INET, "192.168.130.128", &saddr.sin_addr.s_addr);
27 saddr.sin_family = AF_INET;
29 if (bind(sock, (struct sockaddr *) &saddr, sizeof(saddr)) < 0) {
30 perror("Failed to bind socket");
36 sprintf(buf, "Buffer");
39 struct sockaddr_in to;
41 memset(&msg, 0, sizeof(msg));
42 memset(&iov, 0, sizeof(iov));
43 memset(&to, 0, sizeof(to));
45 iov[0].iov_base = buf;
46 iov[0].iov_len = sizeof(buf);
48 inet_pton(AF_INET, "192.168.130.129", &to.sin_addr.s_addr);
49 to.sin_port = htons(100);
50 to.sin_family = AF_INET;
55 msg.msg_namelen = sizeof(to);
59 struct timeval tv1, tv2;
60 gettimeofday(&tv1, NULL);
61 for (i = 0; i < 10000; i++) {
62 ret = sendmsg(sock, &msg, 0);
64 perror("Failed to send on socket");
68 gettimeofday(&tv2, NULL);
70 printf("diff=%ld\n", (tv2.tv_sec - tv1.tv_sec) * 1000 + (tv2.tv_usec - tv1.tv_usec) / 1000);
72 if (close(sock) < 0) {
73 perror("Failed to close socket");