当前位置: 技术问答>linux和unix
求教:unix网络编程-客户端connect报错
来源: 互联网 发布时间:2014-10-24
本文导语: 鄙人刚学unix sock编程,编写一客户端程序,编译成功,但执行报connect 出错,connect error:cannot assign requested address,百思不得其解, 望高手指正。我的邮箱是zcc263@263.net.下面是源代码。 #include #include ...
鄙人刚学unix sock编程,编写一客户端程序,编译成功,但执行报connect
出错,connect error:cannot assign requested address,百思不得其解,
望高手指正。我的邮箱是zcc263@263.net.下面是源代码。
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define MYPORT 4950 /* 用户将发送到这个端口 */
#define MAXBUFLEN 100
int main(int argc, char *argv[])
{
int sockfd;
struct sockaddr_in their_addr; /* 联接者的地址信息 */
int numbytes;
char *buf;
if (argc != 3)
{
fprintf(stderr,"usage: talker hostname messagen");
return(1);
}
sockfd=Socket(AF_INET, SOCK_STREAM, 0);
their_addr.sin_family = AF_INET; /* 主机字节序 */
their_addr.sin_port = htonl(MYPORT); /* short, 网络字节序 */
if((their_addr.sin_addr.s_addr = inet_addr(argv[1])) == -1)
{
perror("inet_addr");
return(1);
}
bzero(&(their_addr.sin_zero), 8); /* 对结构赋0值 */
Connect(sockfd,&their_addr,sizeof(struct sockaddr));
Writen(sockfd,argv[2],sizeof(argv[2]));
if((numbytes=Readn(sockfd,&buf,MAXBUFLEN))
出错,connect error:cannot assign requested address,百思不得其解,
望高手指正。我的邮箱是zcc263@263.net.下面是源代码。
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define MYPORT 4950 /* 用户将发送到这个端口 */
#define MAXBUFLEN 100
int main(int argc, char *argv[])
{
int sockfd;
struct sockaddr_in their_addr; /* 联接者的地址信息 */
int numbytes;
char *buf;
if (argc != 3)
{
fprintf(stderr,"usage: talker hostname messagen");
return(1);
}
sockfd=Socket(AF_INET, SOCK_STREAM, 0);
their_addr.sin_family = AF_INET; /* 主机字节序 */
their_addr.sin_port = htonl(MYPORT); /* short, 网络字节序 */
if((their_addr.sin_addr.s_addr = inet_addr(argv[1])) == -1)
{
perror("inet_addr");
return(1);
}
bzero(&(their_addr.sin_zero), 8); /* 对结构赋0值 */
Connect(sockfd,&their_addr,sizeof(struct sockaddr));
Writen(sockfd,argv[2],sizeof(argv[2]));
if((numbytes=Readn(sockfd,&buf,MAXBUFLEN))