当前位置: 技术问答>linux和unix
socket 问题
来源: 互联网 发布时间:2016-08-03
本文导语: 各位大虾,小弟写了一段socket客户端练习代码,老是通不过编译,不知道为什么,请指教,严重感谢 #include #include #include #include #include #include #include #include #include #include #include #include #include #include...
各位大虾,小弟写了一段socket客户端练习代码,老是通不过编译,不知道为什么,请指教,严重感谢
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define DATA "Half a league, half a league..."
#define PORT 55555
#define MAXDATASIZE 1024
//error handler
static void errMsg(char *fmt,...);
int main(int argc, char **argv){
int sockfd, recvbytes;
char buf[MAXDATASIZE];
struct hostent * host;
struct sockaddr_in serv_addr;
host = gethostbyname(argv[1]);
if (hosth_addr,sizeof(struct in_addr));
bzero(serv_addr.sin_zero,8);
if(connect(sockfd,(struct sockaddr*)&serv_addr,sizeof(struct sockaddr))h_addr,sizeof(struct in_addr));
你这里的serv_addr.sin_addr要改为:serv_addr.sin_addr.s_addr
然后 & host->h_addr是什么? host->h_addr本来就是 char *类型了,
不用加&
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define DATA "Half a league, half a league..."
#define PORT 55555
#define MAXDATASIZE 1024
//error handler
static void errMsg(char *fmt,...);
int main(int argc, char **argv){
int sockfd, recvbytes;
char buf[MAXDATASIZE];
struct hostent * host;
struct sockaddr_in serv_addr;
host = gethostbyname(argv[1]);
if (hosth_addr,sizeof(struct in_addr));
bzero(serv_addr.sin_zero,8);
if(connect(sockfd,(struct sockaddr*)&serv_addr,sizeof(struct sockaddr))h_addr,sizeof(struct in_addr));
你这里的serv_addr.sin_addr要改为:serv_addr.sin_addr.s_addr
然后 & host->h_addr是什么? host->h_addr本来就是 char *类型了,
不用加&