69,382
社区成员
发帖
与我相关
我的任务
分享
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<unistd.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<arpa/inet.h>
#include<netdb.h>
#include<iostream>
#include<vector>
using namespace std;
#define PORT 80
#define MAXDATASIZE 100
int sockfd,bytenum;
char readbuf[MAXDATASIZE];
char writebuf[MAXDATASIZE];
struct hostent *he;
struct sockaddr_in server;
char IP[20];
int main()
{
cout<<"Inut ip:";
cin>>IP;
if((he = gethostbyname(IP)) == NULL)
{
printf("gethostbyname() error\n");
exit(1);
}
if((sockfd = socket(AF_INET,SOCK_STREAM,0)) == -1)
{
printf("socket() error\n");
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(sockfd,(struct sockaddr*)&server,sizeof(server)) == -1)
{
printf("connect() error");
exit(1);
}
while(gets(writebuf)!=NULL)//sprintf(writebuf,"..........%s",buf);
{
send(sockfd,writebuf,MAXDATASIZE,0);
bytenum = recv(sockfd,readbuf,MAXDATASIZE,0);
if(bytenum == 0)
{
printf("Server terminated.\n");
}
else
{
readbuf[bytenum] = '\0';
printf("num = %d\n",bytenum);
printf("Server Message:%s\n",readbuf);
}
}
close(sockfd);
}