⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tcp-server.c

📁 uclinux下tcp和udp服务器的建立
💻 C
字号:
#include <stdio.h>#include <stdlib.h>#include <errno.h>#include <string.h>#include <sys/wait.h>#include <sys/types.h>#include <netinet/in.h>#include <sys/socket.h>#define PORT 3000  /* 定义我们的通信端口*/#define BACKLOG 10 /*定义处理队列长度*/main (){ int sockfd, new_fd; struct sockaddr_in srvaddr; struct sockaddr_in cliaddr; int sin_size;/*建立socket以便通信*/ if ( (sockfd=socket (AF_INET, SOCK_STREAM, 0)) ==-1)   {	perror ("Creat socket error");	exit (1);   } bzero (&srvaddr, sizeof (srvaddr)); srvaddr.sin_family=AF_INET; srvaddr.sin_port=htons (PORT); srvaddr.sin_addr.s_addr=htonl (INADDR_ANY);/*绑定socket*/ if (bind (sockfd, (struct sockaddr * ) &srvaddr,sizeof (struct sockaddr)) ==-1)   {	perror ("Error when bind");	exit (1);   }/*开始在socket上监听*/ if (listen (sockfd, BACKLOG) ==-1)   {	perror ("lisen error");	exit (1);   }/*循环等待,处理连接请求和发送应答信息*/ for (;;)   {	sin_size=sizeof (struct sockaddr_in);	if ( (new_fd=accept (sockfd, (struct sockaddr * ) &cliaddr,&sin_size)) ==-1)	   {		perror ("Error when accept");		exit (1);	   }	printf ("Server: got connection from %s \n", inet_ntoa (cliaddr.sin_addr));	if (write (new_fd,"hello,this is server\n", 22) ==-1)	   perror ("Error when send string");	close (new_fd);   } close (sockfd);   	}

⌨️ 快捷键说明

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