server.cpp

来自「这个工程实现Linux下编程实现服务器与客户端的连接」· C++ 代码 · 共 49 行

CPP
49
字号
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
#include <netdb.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <sys/socket.h>
int main(int argc,char *argv[]) {
	int sockfd,numbytes;
	char buf[100];
	struct hostent *he;
	struct sockaddr_in their_addr;
	int i = 0;
	//将基本名字和地址转换
	he = gethostbyname(argv[1]);
	//建立一个TCP套接口
	if((sockfd = socket(AF_INET,SOCK_STREAM,0))==-1) {
		perror("socket");
		exit(1);
	}
	//初始化结构体,连接到服务器的2323端口
	their_addr.sin_family = AF_INET;
	their_addr.sin_port = htons(2323);
	their_addr.sin_addr = *((struct in_addr *)he->h_addr);
	bzero(&(their_addr.sin_zero),8);
	//和服务器建立连接
	if(connect(sockfd,(struct sockaddr *)&their_addr,
		sizeof(struct sockaddr))
		==-1){
		perror("connect");
		exit(1);
	}
	//向服务器发送字符串"hello!"
	if(send(sockfd,"hello!",6,0)==-1) {
		perror("send");
		exit(1);
	}
	//接受从服务器返回的信息
	if((numbytes = recv(sockfd,buf,100,0))==-1) {
		perror("recv");
		exit(1);
	}
	buf[numbytes] = '';
	printf("result:%s",buf);
	close(sockfd);
	return 0;
}

⌨️ 快捷键说明

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