socket.c

来自「socket编程」· C语言 代码 · 共 47 行

C
47
字号
/* 利用socket的TCP client
此程序会连线TCP server,并将键盘输入的字符串传送给server。
TCP server范例请参考listen()。
*/
#include<sys/stat.h>
#include<fcntl.h>
#include<unistd.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<arpa/inet.h>
#define PORT 1234
#define SERVER_IP “127.0.0.1”
int main()
{
	int s;
	struct sockaddr_in addr;
	char buffer[256];
	if((s = socket(AF_INET,SOCK_STREAM,0))<0){
		perror(“socket”);
		exit(1);
	}
	/* 填写sockaddr_in结构*/
	bzero(&addr,sizeof(addr));
	addr.sin_family = AF_INET;
	addr.sin_port=htons(PORT);
	addr.sin_addr.s_addr = inet_addr(SERVER_IP);

	/* 尝试连线*/
	if(connect(s,&addr,sizeof(addr))<0){
		perror(“connect”);
		exit(1);
	}
	/* 接收由server端传来的信息*/
	recv(s,buffer,sizeof(buffer),0);
	printf(“%sn”,buffer);
	while(1){
		bzero(buffer,sizeof(buffer));
		/* 从标准输入设备取得字符串*/
		read(STDIN_FILENO,buffer,sizeof(buffer));
		/* 将字符串传给server端*/
		if(send(s,buffer,sizeof(buffer),0)<0){
			perror(“send”);
			exit(1);
		}
	}
}

⌨️ 快捷键说明

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