📄 client.c
字号:
#include <unistd.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
#include <string.h>
#define PORT 5656
#define MAXDATASIZE 100
int encrypt(char** charb,int size)
{
int i;
char *buf;
buf = (char*)(malloc(size+1));
buf = charb;
for(i=0;i<size;i++)
{
buf[i] = *(buf+i)+1;
}
charb = buf;
buf=NULL;
return 0;
}
int main(int argc,char * argv[])
{
int fd,numbytes;
int charLen;
char charBuf[MAXDATASIZE];
char buf[MAXDATASIZE];
struct hostent * he;
struct sockaddr_in server;
if(argc!=2)
{
printf("Usage: %s <IP address>\n",argv[0]);
exit(-1);
}
if((he=gethostbyname(argv[1]))==NULL)
{
perror("Gethostbyname error!");
exit(1);
}
if((fd=socket(AF_INET,SOCK_STREAM,0))==-1)
{
perror("Create socket failed!");
exit(1);
}
bzero(&server,sizeof(server));
server.sin_family=AF_INET;
server.sin_port=htons(PORT);
server.sin_addr=(*((struct in_addr *)he->h_addr)); /*ȡֵ*/
if(connect(fd,(struct sockaddr *)&server,sizeof(struct sockaddr))==-1)
{
perror("Connct failed!");
exit(1);
}
if((numbytes=recv(fd,buf,MAXDATASIZE,0))==-1)
{
perror("Recv error!");
exit(1);
}
buf[numbytes]='\0';
printf("Server Message: %s >>",buf);
scanf("%s",charBuf);
charLen=strlen(charBuf);
encrypt(&charBuf,charLen);
printf("You send characters is : %s\n",charBuf);
send(fd,charBuf,charLen,0);
if((numbytes=recv(fd,buf,MAXDATASIZE,0))==-1)
{
perror("Recv error!");
exit(1);
}
buf[numbytes]='\0';
printf("Received Characters is : %s \n",buf);
close(fd);
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -