TCP echo server demo

#include "unp.h"
int main(int argc, char *argv[])
{
	int listenfd, connfd;
	pid_t childpid;
	socklen_t clilen;
	struct sockaddr_in cliaddr, servaddr;  //一般是程序員填寫sockaddr_in 然後轉化成sockaddr類型傳到內核
	listenfd = Socket(AF_INET, SOCK_STREAM, 0);     //用制定的協議創建一個socket,AF_INET表示ipv4,SOCK_STREAM表示TCP
	bzero(&servaddr, sizeof(servaddr));           //將服務器地址結構體清零

	servaddr.sin_family = AF_INET;               
	servaddr.sin_addr.s.addr = htonl(INADDR_ANY);   
	servaddr.sin_port = htons(SERV_PORT);
	
	Bind(listenfd, (SA*) &servaddr, sizeof(servaddr);

	Listen(listenfd, LISTENQ);

	while(1)
	{
		connfd = fork();
		if(0 == connfd)
		{
			Close(listenfd);
			str_echo(connfd);
			exit(0)
		}
		Close(connfd);
	}
	return 0;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章