occlum/test/client/main.c
2019-07-20 03:34:00 +00:00

54 lines
1.2 KiB
C

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <spawn.h>
#include <unistd.h>
int main(int argc, const char *argv[]) {
const char* message = "Hello world!";
int ret;
if (argc != 2) {
printf("usage: ./client <ipaddress>\n");
return 0;
}
int sockfd = socket(AF_INET, SOCK_STREAM, 0);
if (sockfd < 0) {
printf("create socket error: %s(errno: %d)\n", strerror(errno), errno);
return -1;
}
struct sockaddr_in servaddr;
memset(&servaddr, 0, sizeof(servaddr));
servaddr.sin_family = AF_INET;
servaddr.sin_port = htons(6666);
ret = inet_pton(AF_INET, argv[1], &servaddr.sin_addr);
if (ret <= 0) {
printf("inet_pton error for %s\n", argv[1]);
return -1;
}
ret = connect(sockfd, (struct sockaddr *) &servaddr, sizeof(servaddr));
if (ret < 0) {
printf("connect error: %s(errno: %d)\n", strerror(errno), errno);
return -1;
}
printf("send msg to server: %s\n", message);
ret = send(sockfd, message, strlen(message), 0);
if (ret < 0) {
printf("send msg error: %s(errno: %d)\n", strerror(errno), errno);
return -1;
}
close(sockfd);
return 0;
}