socket 简单实例2.客户端代码
2010-08-25 22:41
519 查看
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<netdb.h>
#include<sys/types.h>
#include<netinet/in.h>
#include<sys/socket.h>
#define MAXDATASIZE 100 /*max number of bytes we can get once*/
int main(int argc,char *argv[])
{
int sockfd,numbytes;
char buf[MAXDATASIZE];
struct hostent *he;
struct sockaddr_in their_addr; /*connector's address information*/
if( argc !=2 )
{
printf("suage:client hostname/n");
exit(1);
}
if ((he = gethostbyname(argv[1])) == NULL)
{
printf("gethostname error/n");
exit(1);
}
if((sockfd = socket(AF_INET,SOCK_STREAM,0)) == -1)
{
printf("socket error/n");
exit(1);
}
their_addr.sin_family = AF_INET;/*host byte order*/
their_addr.sin_port = htons(atoi(getenv("MYPORT")));
their_addr.sin_addr = *((struct in_addr *)he->h_addr);
bzero(&(their_addr.sin_zero),8);/*zero the rest of the struct*/
if(connect(sockfd,(struct sockaddr *)&their_addr,sizeof(struct sockaddr)) == -1)
{
printf("socket connect error/n");
exit(1);
}
if((numbytes = recv(sockfd,buf,MAXDATASIZE,0)) == -1)
{
printf("socket recv error/n");
exit(1);
}
buf[numbytes] ='/0';
printf("Received,:%s",buf);
close(sockfd);
return 0;
}
#include<stdlib.h>
#include<string.h>
#include<netdb.h>
#include<sys/types.h>
#include<netinet/in.h>
#include<sys/socket.h>
#define MAXDATASIZE 100 /*max number of bytes we can get once*/
int main(int argc,char *argv[])
{
int sockfd,numbytes;
char buf[MAXDATASIZE];
struct hostent *he;
struct sockaddr_in their_addr; /*connector's address information*/
if( argc !=2 )
{
printf("suage:client hostname/n");
exit(1);
}
if ((he = gethostbyname(argv[1])) == NULL)
{
printf("gethostname error/n");
exit(1);
}
if((sockfd = socket(AF_INET,SOCK_STREAM,0)) == -1)
{
printf("socket error/n");
exit(1);
}
their_addr.sin_family = AF_INET;/*host byte order*/
their_addr.sin_port = htons(atoi(getenv("MYPORT")));
their_addr.sin_addr = *((struct in_addr *)he->h_addr);
bzero(&(their_addr.sin_zero),8);/*zero the rest of the struct*/
if(connect(sockfd,(struct sockaddr *)&their_addr,sizeof(struct sockaddr)) == -1)
{
printf("socket connect error/n");
exit(1);
}
if((numbytes = recv(sockfd,buf,MAXDATASIZE,0)) == -1)
{
printf("socket recv error/n");
exit(1);
}
buf[numbytes] ='/0';
printf("Received,:%s",buf);
close(sockfd);
return 0;
}
相关文章推荐
- php简单socket服务器客户端代码实例
- php简单socket服务器客户端代码实例
- php简单socket服务器客户端代码实例
- 简单的服务器和客户端程序代码实例
- Java Socket编程服务器响应客户端实例代码
- C#和PHP Socket通信实例代码(服务器与客户端通信)
- 实例:linux下实现简单的socket 客户端 服务端
- C#和PHP Socket通信实例代码(服务器与客户端通信)
- Linux/Unix服务端和客户端Socket编程入门实例代码
- C#和PHP Socket通信实例代码(服务器与客户端通信)
- C# socket 多线程多客户端简单实例
- 【C++】Winsock套接字编程,简单的socket通信代码(客户端、服务端)
- Windows下C++服务端和客户端Socket通信简单代码
- Java socket通信实例,简单入门socket实例代码
- Socket实现客户端和服务端 简单的入门实例
- C++ 简单socket客户端实现代码
- Web Service 简单实例(java 版本) ,IDE自动生成客户端代码方法
- ios socket编程的客户端和服务器端通信简单实例
- Linux网络编程之socket简单通信--客户端代码
- socket简单应用客户端代码