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

📄 server.c

📁 《Linux程序设计权威指南》源代码
💻 C
字号:
	/* File: server.c */	#include <stdio.h>	#include <sys/types.h>	#include <sys/socket.h>	#include <netinet/in.h>	int main(int argc, char **argv)	{		int fd;		int address_len;		struct sockaddr_in address;		int listenfd;		//建立套接口		fd = socket(AF_INET, SOCK_STREAM, 0);		//绑定地址和端口		address.sin_family = AF_INET;		address.sin_addr.s_addr = htonl(INADDR_ANY);		address.sin_port = htons(1234);		address_len = sizeof(address);		bind(fd, (struct sockaddr *)&address, address_len);		//建立套接口队列		listenfd = listen(fd, 64);		while(1) {			struct sockaddr_in client_address;			int len;			int client_sockfd;			char *data = "Server to Client String!\n";			char data2[100];			pid_t pid;			printf("waiting...");			fflush(stdout);			//等待			len = sizeof(client_address);			client_sockfd = accept(fd, 				(struct sockaddr *)&client_address, &len);			//建立子进程			if( (pid = fork()) == 0){	//child				close(listenfd);				//接收数据				bzero((void *)data2, 100);				readline(client_sockfd, (void *)data2, 100);				printf("server read line:%s", data2);				//发送数据				writen(client_sockfd,(void *)data,strlen(data));				printf("server send line:%s", data);				//关闭联接并且退出				close(client_sockfd);				exit(0);			}			close(client_sockfd);		//parent		}	}

⌨️ 快捷键说明

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