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

📄 rresvport.c

📁 这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易于我们学习和理解
💻 C
字号:
/* posix */#include <sys/types.h>#include <unistd.h>#include <stdlib.h>#include <stdio.h>#include <string.h>#include <time.h>/* socket extensions */#include <sys/socket.h>#include <netinet/in.h>#include <sys/un.h>intrresvport(int *p){	int fd;	short i;	struct	sockaddr_in in;	static int next;	fd = socket(PF_INET, SOCK_STREAM, 0);	if(fd < 0)		return -1;	i = 600 + ((getpid()+next++)%(1024-600));	memset(&in, 0, sizeof(in));	in.sin_family = AF_INET;	in.sin_port = htons(i);printf("in.sin_port = %d\n", in.sin_port);	if(bind(fd, &in, sizeof(in)) < 0){		close(fd);		return -1;	}	if(p)		*p = i;	return fd;}

⌨️ 快捷键说明

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