server.c

来自「Unix编程例子」· C语言 代码 · 共 37 行

C
37
字号
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>

#define SIZE      8192
#define PORT_NO  12345

int main(void)
{
	int admin_sock, data_sock;
	struct sockaddr_in name;
	unsigned char buf[SIZE];
	int nbyte, i;

	admin_sock = socket(AF_INET, SOCK_STREAM, 0);

	name.sin_family = AF_INET;
	name.sin_addr.s_addr = INADDR_ANY;
	name.sin_port = htons(PORT_NO);
	bind(admin_sock, (struct sockaddr*)&name, sizeof(name));
	listen(admin_sock, 5);

	data_sock = accept(admin_sock, 0, 0);
	printf("Accept connection\n");

	for (;;) {
		nbyte = read(data_sock, buf, SIZE);
		if (nbyte == 0) {
		printf("*** Disconnected.\n");
		close(data_sock);
		exit(0);
	} 
	for (i = 0; i < nbyte; i++) 
		printf("%c", buf[i]);
	}
}

⌨️ 快捷键说明

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