📄 loginservd.c
字号:
#include <unistd.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/wait.h>
#include <netinet/in.h>
#include <fcntl.h>
#include "myhead.h"
#define LISTEN_PORT 2099
#define LISTEN_QUEUE 10
#define DO_PROCESS "/mysrc/network/loginserver/logincheck"
int main(void)
{
int sockfd;
char ipbuf[]="192.168.8.11";
if(daemon_init()<0)
exit(-1);
if((sockfd=socket_init(ipbuf, LISTEN_PORT)) < 0)
{write(STDERR_FILENO, "socket init error!", 19); exit(-1);}
if(socket_listen(sockfd, LISTEN_QUEUE) < 0)
exit(-1);
while(1)
{
int acceptfd;
pid_t pid;
struct sockaddr_in cliename;
socklen_t len;
len = sizeof(cliename);
acceptfd = accept(sockfd, (struct sockaddr *)&cliename, &len);
if((pid=fork()) < 0)
exit(-1);
else if(pid != 0)
{
int status;
close(acceptfd);
waitpid(pid, &status, WUNTRACED);
}
else
{
pid_t pid;
if((pid=fork()) == 0)
{
close(sockfd);
execl(DO_PROCESS, "");
}
else
exit(0);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -