#include <stdio.h>
#include <stdlib.h> //[url]http://c语言标准函数库[/url]
#include <errno.h> //错误回报宏
#include <string.h>
#include <netdb.h> //设置与网络有关的宏或者结构
#include <sys/types.h> //访问——LP64和LP——32的定义
#include <netinet/in.h> //互联网地址族
#include <sys/socket.h> //linux的头文件
int main(int argc,char *argv[])
{
int sockfd,numbytes;
char buf[100];
struct hostent *he;
struct sockaddr_in their_addr;
int i = 0;
//转换主机名或IP地址
he = gethostbyname(argv[1]); //返回对应于给定主机名的主机信息。
//客户端程序建立TCP协议的socked套接字描述符,出现gethostbyname: Host name lookup failure错误(their_addr.sin_addr.s_addr=inet_addr(argv[1]));
if((sockfd = socket(AF_INET,SOCK_STREAM,0))==-1)
{
perror("socket");
exit(1);
}
//客户端程序初始化sockaddr结构体,连接到服务器的23[url]http://23端口[/url]
their_addr.sin_family = AF_INET;
their_addr.sin_port = htons(3333);
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) //connect函数用于建立socked的链接
{
perror("connect");
exit(1);
}
//向服务器发送字符串"hello!"
if(send(sockfd,"Hello! I am Client.",6,0)==-1)
{
perror("send");
exit(1);
}
//接受从服务器返回的信息
if((numbytes = recv(sockfd,buf,100,0))==-1)
{
perror("recv");
exit(1);
}
buf[numbytes]=*\0*;
printf("result: %s \n",buf);
/* 通信结束 */
close(sockfd);
return 0;
}
#include <stdlib.h> //[url]http://c语言标准函数库[/url]
#include <errno.h> //错误回报宏
#include <string.h>
#include <netdb.h> //设置与网络有关的宏或者结构
#include <sys/types.h> //访问——LP64和LP——32的定义
#include <netinet/in.h> //互联网地址族
#include <sys/socket.h> //linux的头文件
int main(int argc,char *argv[])
{
int sockfd,numbytes;
char buf[100];
struct hostent *he;
struct sockaddr_in their_addr;
int i = 0;
//转换主机名或IP地址
he = gethostbyname(argv[1]); //返回对应于给定主机名的主机信息。
//客户端程序建立TCP协议的socked套接字描述符,出现gethostbyname: Host name lookup failure错误(their_addr.sin_addr.s_addr=inet_addr(argv[1]));
if((sockfd = socket(AF_INET,SOCK_STREAM,0))==-1)
{
perror("socket");
exit(1);
}
//客户端程序初始化sockaddr结构体,连接到服务器的23[url]http://23端口[/url]
their_addr.sin_family = AF_INET;
their_addr.sin_port = htons(3333);
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) //connect函数用于建立socked的链接
{
perror("connect");
exit(1);
}
//向服务器发送字符串"hello!"
if(send(sockfd,"Hello! I am Client.",6,0)==-1)
{
perror("send");
exit(1);
}
//接受从服务器返回的信息
if((numbytes = recv(sockfd,buf,100,0))==-1)
{
perror("recv");
exit(1);
}
buf[numbytes]=*\0*;
printf("result: %s \n",buf);
/* 通信结束 */
close(sockfd);
return 0;
}
