- 论坛徽章:
- 0
|
本帖最后由 duwei211 于 2011-02-19 16:23 编辑
初学,本机两个小程序测试是否可以实现,这个是客户端。大家尽管指点,有啥说下,畅所欲言
#include <sys/types.h>
#include <sys/socket.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <errno.h>
#include <netinet/in.h>
#include <netdb.h>
#include <arpa/inet.h>
#define SERPORT 3303
int main(int argc,char *argv[])
{
int sockfd;
struct hostent *host;
char hostname[50];
int hostn;
struct sockaddr_in ser_addr;
bzero(&ser_addr,sizeof(ser_addr));
if((hostn=gethostname(hostname,sizeof(hostname)))==-1)
printf("gethostname failed!\n");
else printf("hostname=%s\n",hostname);
if((host=gethostbyname(hostname))==NULL)
{
perror("gethostbyname\n");
putchar('\n');
return -2;
}
if((sockfd=socket(AF_INET,SOCK_STREAM,0))==-1)
{
perror("socket");
putchar('\n');
return -3;
}
printf("create socket successful\n");
ser_addr.sin_family=AF_INET;
//连接服务端的时候显示:
//hostname=duwei-desktop
//create socket successful
//connect: Connection refused
ser_addr.sin_port=htons(SERPORT);
ser_addr.sin_addr=*((struct in_addr *)(host->h_addr));
if(connect(sockfd,(struct sockaddr *)(&ser_addr),sizeof(struct sockaddr))==-1)
{
perror("connect");
return -4;
}
if(send(sockfd,"hello world!",50,0)==-1)
{
perror("send");
return -5;
}
close(sockfd);
return 0;
} |
|