server.cc

来自「unix下的一个网络查询程序」· CC 代码 · 共 61 行

CC
61
字号
//------------Begin----------------------------------
#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/wait.h>
#include <signal.h>
#include <sys/resource.h>
#include <netinet/in.h>
#include <netdb.h>
#include <strings.h>
#include <stdlib.h>
#include <unistd.h>

int main(int argc, char *argv[])
{
	int sockfd,length;
	struct	sockaddr_in server;
	int msgsock;
	char buf[1024];

	sockfd = socket(AF_INET,SOCK_STREAM,0);
	if (sockfd < 0)
	{
		printf("error open stream socket.\n");
		return 0;
	}
	server.sin_family = AF_INET;
	server.sin_addr.s_addr = INADDR_ANY;
	server.sin_port =  htons(4
	if (bind(sockfd,(struct sockaddr *)&server,sizeof(server)) < 0)
	{
		printf("error bind addr.\n");
		return 0;
	}
	listen(sockfd,5);
	for(;;)
	{
		msgsock = accept(sockfd,(struct sockaddr *)0,(int *)0);
		int aa = fork();
		if (aa == 0)
		{
			close(sockfd);
			bzero(buf,sizeof(buf));
			if ((read(msgsock,buf,1024)) < 0)
			{
				printf("error read data on stream socket.\n");
				return 0;
			}
			printf("server read:%s\n",buf);
			return 0;
		}
		else
		{
			wait(&aa);
		}
		close(msgsock);
	}
}

 //-----------End---------------------

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?