client.c~

来自「最传统得加密解密方法des,此源代码需在嵌入式linux下编译运行」· C~ 代码 · 共 77 行

C~
77
字号
//-------------------POWERED BY BOBO-----------//-------------------引入库函数--------------------#include <stdlib.h>#include <stdio.h>#include <errno.h>#include <string.h>#include <netdb.h>#include <sys/types.h>#include <netinet/in.h>#include <sys/socket.h>#include "des.h"//-------------------------------------------------#define RECVBUFSIZE 1024	//定义接收数据缓冲区大小void process(FILE *fp,int sockfd);main(int argc, char *argv[]){    int fd;			//定义SOCKET参量    struct hostent *he;    struct sockaddr_in server;	//定义服务端SOCKERADDR结构    int portnumber;		//定义端口号        if(argc != 3)			//判断输入参数    {        fprintf(stderr, "Usage:%s hostname portnumber\a\n", argv[0]);        exit(1);    }    if((portnumber=atoi(argv[2])) < 0)    {        fprintf(stderr,"Usage:%s hostname portnumber\a\n", argv[0]);        exit(1);    }        if((fd = socket(AF_INET, SOCK_STREAM, 0)) == -1)	//建立SOCKET    {        fprintf(stderr, "Socket Error:%s\a\n", strerror(errno));        exit(1);    }        bzero(&server, sizeof(server));			//设置SOCKADDR结构指向服务器    server.sin_family = AF_INET;			    server.sin_port = portnumber;    server.sin_addr.s_addr = inet_addr(argv[1]);        if(connect(fd, (struct sockaddr *)(&server), sizeof(struct sockaddr)) == -1)//同服务器建立连接    {        fprintf(stderr, "Connect Error:%s\a\n", strerror(errno));        exit(1);    }    process(stdin,fd);				    close(fd);    //exit(0);} void process(FILE *fp,int sockfd){	char sendline[1024],recvline[1024];	//定义接收发送缓冲区	char buf[1024];			//密文缓冲区	char Key[8]="12345678";		//8位密钥	int numbytes;			//定义接收数据长度	printf("Connect to server!\n");	while(fgets(sendline,1024,fp)!=NULL)	{		des_go(buf,sendline,strlen(sendline),Key,1);		printf("%s",buf);		send(sockfd,buf,strlen(buf),0);		//发送数据		if((numbytes=recv(sockfd,recvline,1024,0))==0)	//接收数据		{			printf("Server Busy!\n");			return;		}		recvline[numbytes]='\0';		printf("Server's Back: %s",recvline);		//close(sockfd);	}}

⌨️ 快捷键说明

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