网络编程不熟悉,只能自己多做练习,多练,每天进步一点点。
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <unistd.h>
/*实现功能
连接 FTP服务器接受ftp服务器的消息主要函数connect send recv 当输入正确的ftp服务器地址会正确的接受到消息
否则会退出程序*/
#define PORT 21 /*定义端口号*/
int main(void)
{
int sockfd;
char recvbuff[256];
char sendbuff[]="hello";
char ip[30];
struct sockaddr_in addr;
if((sockfd=socket(AF_INET,SOCK_STREAM,0))<0)
{
perror("socket");
exit(1);
}
else
{
printf("creat socket success :%d\n",sockfd);
}
bzero(&addr,sizeof(struct sockaddr_in));
addr.sin_family=AF_INET;
addr.sin_port=htons(PORT);
while(1)
{
printf("input remote ip:\n");
gets(ip);
addr.sin_addr.s_addr=inet_addr(ip);
if(connect(sockfd,(struct sockaddr*)(&addr),sizeof(struct sockaddr))<0)
{
perror("connect");
exit(2);
}
else
{
printf("connect success.\n");
}
if(send(sockfd,sendbuff,sizeof(sendbuff),0)<0)
{
perror("send");
exit(3);
}
if(recv(sockfd,recvbuff,sizeof(recvbuff),0)<0)
{
perror("recv");
exit(4);
}
printf("mess:%s\n",recvbuff);
}
close(sockfd);
return 0;
}