#include <stdio.h>
#include <stdlib.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <string.h>
#include <stdio.h>
#include <termios.h>
#include <unistd.h>
#include <fcntl.h>
#define host "127.0.0.1"
#define port 8119
int kbhit1(void)
{
struct termios oldt, newt;
int ch;
int oldf;
tcgetattr(STDIN_FILENO, &oldt);
newt = oldt;
newt.c_lflag &= ~(ICANON | ECHO);
tcsetattr(STDIN_FILENO, TCSANOW, &newt);
oldf = fcntl(STDIN_FILENO, F_GETFL, 0);
fcntl(STDIN_FILENO, F_SETFL, oldf | O_NONBLOCK);
ch = getchar();
tcsetattr(STDIN_FILENO, TCSANOW, &oldt);
fcntl(STDIN_FILENO, F_SETFL, oldf);
if(ch != EOF)
{
ungetc(ch, stdin);
return 1;
}
return 0;
}
int main() {
int csock;
int sock = socket(AF_INET, SOCK_STREAM, 0);
struct sockaddr_in *sockinaddr;
sockinaddr = (struct sockaddr_in *) malloc(sizeof(struct sockaddr_in *));
sockinaddr->sin_family = AF_INET;
sockinaddr->sin_port = htons(port);
sockinaddr->sin_addr.s_addr = inet_addr(host);
if (bind(sock, (struct sockaddr *) sockinaddr, sizeof(*sockinaddr)) < 0) {
perror("error");
exit(1);
}
if (listen(sock, 10) == -1) {
printf("errorr");
exit(0);
}
printf("============\n");
while (1) {
if ((csock = accept(sock, (struct sockaddr *) NULL, NULL)) == -1) {
printf("accept socket error:");
continue;
}
char recvbuf[1024];
char sendbuf[1024];
while (recv(csock, recvbuf, sizeof(recvbuf), 0) > -2) {
scanf("%s", &sendbuf);
send(csock, sendbuf, strlen(sendbuf), 0);
printf("recv msg from client: %s\n", recvbuf);
memset(recvbuf, 0, sizeof(recvbuf));
memset(sendbuf, 0, sizeof(sendbuf));
}
return 0;
}
}
#include <stdlib.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <string.h>
#include <stdio.h>
#include <termios.h>
#include <unistd.h>
#include <fcntl.h>
#define host "127.0.0.1"
#define port 8119
int kbhit1(void)
{
struct termios oldt, newt;
int ch;
int oldf;
tcgetattr(STDIN_FILENO, &oldt);
newt = oldt;
newt.c_lflag &= ~(ICANON | ECHO);
tcsetattr(STDIN_FILENO, TCSANOW, &newt);
oldf = fcntl(STDIN_FILENO, F_GETFL, 0);
fcntl(STDIN_FILENO, F_SETFL, oldf | O_NONBLOCK);
ch = getchar();
tcsetattr(STDIN_FILENO, TCSANOW, &oldt);
fcntl(STDIN_FILENO, F_SETFL, oldf);
if(ch != EOF)
{
ungetc(ch, stdin);
return 1;
}
return 0;
}
int main() {
int csock;
int sock = socket(AF_INET, SOCK_STREAM, 0);
struct sockaddr_in *sockinaddr;
sockinaddr = (struct sockaddr_in *) malloc(sizeof(struct sockaddr_in *));
sockinaddr->sin_family = AF_INET;
sockinaddr->sin_port = htons(port);
sockinaddr->sin_addr.s_addr = inet_addr(host);
if (bind(sock, (struct sockaddr *) sockinaddr, sizeof(*sockinaddr)) < 0) {
perror("error");
exit(1);
}
if (listen(sock, 10) == -1) {
printf("errorr");
exit(0);
}
printf("============\n");
while (1) {
if ((csock = accept(sock, (struct sockaddr *) NULL, NULL)) == -1) {
printf("accept socket error:");
continue;
}
char recvbuf[1024];
char sendbuf[1024];
while (recv(csock, recvbuf, sizeof(recvbuf), 0) > -2) {
scanf("%s", &sendbuf);
send(csock, sendbuf, strlen(sendbuf), 0);
printf("recv msg from client: %s\n", recvbuf);
memset(recvbuf, 0, sizeof(recvbuf));
memset(sendbuf, 0, sizeof(sendbuf));
}
return 0;
}
}