基于socket的FTP客户端程序--请教不能连接上的问题

tracyjk 2011-05-10 08:36:45

int main(int argc,char *argv[])
{
int cmd_len,arg_len;
int sock, sockmsg;
int nFd;
struct sockaddr_in server;
struct hostent *hp;

memset(&server, 0, sizeof(struct sockaddr_in)); /* 初始化socket */
sock=socket(AF_INET,SOCK_STREAM,0);
//sockmsg=socket(AF_INET,SOCK_STREAM,0);

if (sock<0)
{
perror("opening stream socket");
exit(1);
}

hp = gethostbyname(argv[1]);
printf("hp is %d\n",hp);
if (hp==0)
{
printf("%s:unknown host\n",argv[1]);
fprintf(stderr,"%s:unknown host\n",argv[1]);
exit(2);
}

if ((nFd=socket(AF_INET, SOCK_STREAM, 0))==-1)
{
printf("连接网络失败\n");
exit(1);
}

printf("nFd is [%d]---argv[2] [%s]\n",nFd,argv[2]);
server.sin_family=AF_INET;
server.sin_port=htons(atoi(argv[2]));

server.sin_addr = *((struct in_addr *)hp->h_addr);

//memcpy((char*)&server.sin_addr, (char*)hp->h_addr, hp->h_length);

printf("connecting\n");
int a;
a=connect(sock,(struct sockaddr *)&server,sizeof(struct sockaddr));

printf("a is [%d]\n",a);
//if (connect(sock,(struct sockaddr *)&server,sizeof server)<0||connect(sockmsg,(struct sockaddr *)&servermsg,sizeof servermsg)<0)
if (a<0)
{
perror("connecting stream socket");
exit(1);
}
printf("connect\n");
read(sock, buf, dataLen);

printf("buf is [%s]\n",buf);
return 0;
}



在手持设备上用上面的程序连接到59.57.14.21这个ip上
用的是手机卡

程序打印玩connecting后,就卡在connect处


用电脑登陆上面的那个ip可以登录到该网址的ftp上

不懂是程序的问题还是用手机卡连接慢的问题

请各位大牛指点下
...全文
74 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
twglinda 2011-05-12
  • 打赏
  • 举报
回复
好啊.太好了,以后会常来看看的.可!

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧