client.c

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

C
48
字号
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <stdio.h>
 
#define SIZE 8192 
#define PORT_NO 12345 
 
int main(int argc, char *argv[])
{
	int sock, len;
	struct sockaddr_in name;
	unsigned char sbuf[SIZE];

	if (argc < 2) {
		printf("Usage : %s <IP_ADDR>\n", argv[0]);
		exit(0);
	}

	sock = socket(AF_INET, SOCK_STREAM, 0);
	if (sock < 0){
		perror("Create stream socket");
		exit(1);
	}

	name.sin_family = AF_INET;
	name.sin_addr.s_addr = htonl(inet_network(argv[1]));
	name.sin_port = htons(PORT_NO); 
	if (connect(sock, (struct sockaddr *)&name, sizeof(name)) < 0) {
		perror("\nconnecting server stream socket");
		exit(1);
	} 
	printf("Connected.\n");

	for(;;) {
		if (fgets(sbuf, SIZE, stdin) == NULL)
			break;
		if (write(sock, sbuf, strlen(sbuf)) < 0) {
			perror("sending stream message");
			exit(1);
		}
	}
	
	close(sock);
	printf("Connection closed.\n\n");
	exit(0);
}

⌨️ 快捷键说明

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