#include <netinet/in.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <unistd.h>
#include <string.h>
#include <stdio.h>
#define PORT_NUM 8888
#define LOCALIP "192.168.1.2"
int main() {
int listen_fd, conn_fd;
struct sockaddr_in server_addr, client_addr;
int client_len;
int len = 0;
char recv_buf[1024];
char send_buf[1024];
listen_fd = socket(AF_INET, SOCK_STREAM, 0);
if (listen_fd == -1) {
perror("Failed to socket ");
return -1;
}
memset(&server_addr, 0, sizeof(server_addr));
server_addr.sin_family = AF_INET;
server_addr.sin_port = htons(PORT_NUM);
server_addr.sin_addr.s_addr = htonl(INADDR_ANY); //
if (bind(listen_fd, (struct sockaddr *)&server_addr, sizeof(server_addr)) == -1) {
perror("failed to bind");
return -1;
}
printf("now listen...\n");
if (listen(listen_fd, 10) == -1) {
perror("failed to listen");
}
while (1) {
memset(&client_addr, 0, sizeof(client_addr));
client_len = sizeof(client_addr);
printf("now accept...\n");
conn_fd = accept(listen_fd, (struct sockaddr *)&client_addr, &client_len);
if (conn_fd == -1) {
perror("failed to accept");
return -1;
}
memset(recv_buf, 0, sizeof(recv_buf));
printf("now recv...\n");
len = recv(conn_fd, recv_buf, sizeof(recv_buf), 0);
if (len == -1) {
perror("failed to recv");
return -1;
}
printf("recv from client is %s\n", recv_buf);
printf("now send...\n");
memset(send_buf, 0, sizeof(send_buf));
sprintf(send_buf, "hello, client tcp terminal test ");
len = send(conn_fd, send_buf, strlen(send_buf), 0);
if (len == -1) {
perror("failed to send");
return -1;
}
printf("send msg to client %s\n", send_buf);
close(conn_fd);
}
close(listen_fd);
return 0;
}
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <string.h>
#include <stdio.h>
#define PORT_NUM 8888
#define LOCALIP "192.168.1.2"
int main() {
int sock_fd;
unsigned short port;
in_addr_t addr_in;
struct sockaddr_in server_addr;
int len = 0;
char send_buf[1024];
char recv_buf[1024];
sock_fd = socket(AF_INET, SOCK_STREAM, 0);
if (sock_fd == -1) {
perror("failed to sock_fd");
return -1;
}
memset(&server_addr, 0, sizeof(server_addr));
server_addr.sin_family = AF_INET;
server_addr.sin_port = htons(PORT_NUM);
server_addr.sin_addr.s_addr = inet_addr("192.168.1.2");
if (connect(sock_fd, (struct sockaddr *)&server_addr, sizeof(server_addr))== -1) {
perror("failed to connect");
return -1;
}
memset(send_buf, 0, sizeof(send_buf));
sprintf(send_buf, "hello ! server terminal send test");
len = send(sock_fd, send_buf, strlen(send_buf), 0);
if (len == -1) {
perror("failed to send");
return -1;
}
memset(recv_buf, 0, sizeof(recv_buf));
printf("now recv...\n");
len = recv(sock_fd, recv_buf, sizeof(recv_buf), 0);
if (len == -1) {
perror("failed to recv");
return -1;
}
printf("receive msg: %s\n", recv_buf);
close(sock_fd);
return 0;
}