📄 tcps.c
字号:
/* tcp server */
#include <stdio.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <sys/socket.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <ctype.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/socketvar.h>
#include <netinet/in.h>
#include <sys/ipc.h>
#include <sys/msg.h>
#include <sys/shm.h>
#include <sys/poll.h>
#include <sys/select.h>
#define MPORT 4951
#define MAXSIZE 80
int main(int argc,char *argv[])
{
int sockfd,confd ;
struct sockaddr_in saddr={10,AF_INET,MPORT,0} ;
struct sockaddr_in r_addr ;
struct sockaddr *addr ;
int addr_len ;
int n=0;
char recvs[MAXSIZE];
size_t len ;
if ((sockfd=socket(AF_INET,SOCK_STREAM,0))==-1)
{
perror("socket error!!\n");
exit(-1);
}
saddr.sin_family = AF_INET ;
saddr.sin_port = htons(MPORT) ;
saddr.sin_addr.s_addr = INADDR_ANY ;
if (bind(sockfd,(struct sockaddr*)(&saddr),sizeof(struct sockaddr_in))==-1)
{
perror("bind error!!\n");
exit(-1);
}
if (listen(sockfd,10)<0)
{
perror("listen error!\n");
exit(-1);
}
while(1)
{
len=sizeof(struct sockaddr_in);
memset(recvs,0,sizeof(recvs));
if ((confd=accept(sockfd,(struct sockaddr*)(&r_addr),&len))<0)
{
perror("accept error!\n");
exit(-1);
}
if((fork())==0)
{
close(sockfd);
while ((n=recv(confd,recvs,MAXSIZE,0))!=0)
{
printf("%s\n",recvs);
if ((n=write(confd,recvs,sizeof(recvs)))==-1)
{
perror("send error!!\n");
exit(-1) ;
}
}
close(confd);
}
else
{
close(confd);
}
}
close(sockfd);
exit(0);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -