Chinaunix
标题:
socket编程的客户端问题
[打印本页]
作者:
zidane2007
时间:
2008-04-24 14:09
标题:
socket编程的客户端问题
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<sys/types.h>
#include<netinet/in.h>
#include<sys/socket.h>
#define MAX_LINE 4096
int main(int argc,char* argv[])
{
int socketfd,n;
char recline[MAX_LINE+1];
struct sockaddr_in servaddr;
if(argc !=2)
{
perror("useage:<ipaddress>");
exit(1);
}
if((socketfd = socket(AF_INET,SOCK_STREAM,0))<0)
{
perror("socket error!\n");
exit(1);
}
bzero(&servaddr,sizeof(servaddr));
servaddr.sin_family=AF_INET;
servaddr.sin_port=htons(13);
if(inet_pton(AF_INET,argv[1],&servaddr.sin_addr)<0)
{
printf("inet_pton error in%s\n",argv[1]);
exit(1);
}
if(connect(socketfd,(struct sockaddr*)&servaddr,sizeof(servaddr))<0)
{
perror("error in connect!\n");
exit(1);
}
while(n = recv(socketfd,recline,MAX_LINE,0) >0)
{
recline[n]='\0';
if(fputs(recline,stdout)==EOF)
{
perror("fputs error!\n");
exit(1);
}
}
if(n<0)
{
perror("recv error!\n");
exit(1);
}
exit(0);
}
ping shou.com
得到的ip地址是218.5.79.226
然后我在shell下输入./simple 218.5.79.226
结果是:
error in connect!
: Connection refused
请问大家这是什么问题?
作者:
Fixend
时间:
2008-04-24 14:38
那是服务器端的问题。
作者:
zhjufe
时间:
2008-04-24 16:33
htons(13);//??
换成21说不定还可以
作者:
zhuhefang2006
时间:
2008-04-24 21:55
说明218.5.79.226并没有在13号端口监听吧
作者:
zidane2007
时间:
2008-04-25 13:51
我看书上说 13号端口是标准时间端口啊
访问这个端口都可以得到系统时间
随后我有用 127.0.0.1这个端口试过,还是connect不上?
新手,企盼大家多多帮助!
作者:
@sky
时间:
2008-04-25 14:31
晕, 你的自己写一个,一般那个端口是不开的
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2