永发信息网

sendto总返回-1

答案:2  悬赏:50  手机版
解决时间 2021-02-04 12:48
麻烦各位看看下面的代码
这是客户端
#include "cs.h"

int main(int argc,char **argv)
{
int sockfd;
struct sockaddr_in servaddr;
int n;
char passwd[PWD_MAX_LEN];
int len;

if(argc != 3){
printf("usage: cli \n");
return -1;
}

bzero(&servaddr,sizeof(servaddr));
servaddr.sin_family = AF_INET;
servaddr.sin_port = htons(SERV_PORT);
inet_pton(AF_INET,argv[1],&servaddr.sin_addr);

sockfd = socket(AF_INET,SOCK_DGRAM,0);

bzero(passwd,PWD_MAX_LEN);
strcpy(passwd,argv[2]);
printf("%s\n",passwd);
n = sendto(sockfd,(void *)passwd,PWD_MAX_LEN,0,(struct sockaddr*)&servaddr,len);
printf("%d\n",n);

return 0;
}

这是服务器
#include "cs.h"

int main()
{
int sockfd;
struct sockaddr_in servaddr,cliaddr;
int n;
int len;
char passwd[PWD_MAX_LEN];

sockfd = socket(AF_INET,SOCK_DGRAM,0);
bzero(&servaddr,sizeof(servaddr));
servaddr.sin_family = AF_INET;
servaddr.sin_addr.s_addr = htonl(INADDR_ANY);
servaddr.sin_port = htons(SERV_PORT);

bind(sockfd,(struct sockaddr*)&servaddr,sizeof(servaddr));

n = recvfrom(sockfd,passwd,PWD_MAX_LEN,0,(struct sockaddr*)&cliaddr,&len);
printf("%s\n",passwd);

return 0;
}

回复cpp_wazi
命令netstat|grep 端口号,返回空行。我用测试成功的tcp服务器,并且有客户端连接之后也查不到自己建立的服务器啊。是我查看方法有问题吗?

我找到错误了,len没赋值,真是愁死我了~~
分就不给了啊

“出于保护回答者利益的考虑,直接结束提问,提问的悬赏分将无法返还,请您理解。”
分还是给你吧
最佳答案
sendto是-1代表失败

udp连接你看看网络状态netstat
是否有服务器等待连接
全部回答
1、检查客户端和服务端的端口号是否一致; 2、接收端的socket要采用block模式,数据收到后打印出来.
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
为什么我下载了一个软件,打开后却是停止运行
V7Bar地址好找么,我有些事要过去
如何祛除塑料眼镜上的味
柑子园桥我想知道这个在什么地方
已知物种A的化石比物种B的化石在地层中出现晚
三星Galaxy S7手机丢了怎么找回来
点击页面标题,内容没有打开,再点击在标题栏
庄论的意思是什么啊?知道的请说下!
江南足道在哪里啊,我有事要去这个地方
上海师范大学徐汇校区周边有没有什么值得去的
我梦见我男朋友跟别人聊天了,
核心物语地址在什么地方,想过去办事
若x=1是方程2-3分之1(m-x)=2x的解,则方程m(x-
求证中部小县城房价走势?
我有好多好多嘢想讲,我真系唔想畀你喺一齐,唔
推荐资讯
非冀的意思是什么啊?知道的请说下!
曼天雨品牌女装特价店地址在哪,我要去那里办
天空它想什么爱情就想什么这段歌词的歌曲叫什
粘糊的意思是什么啊?知道的请说下!
石坞的意思是什么啊?知道的请说下!
各位大师大家好,请问江铃全顺(4d243H)正时
倍舒特有一款卫生巾是绿茶味道的,那个叫什么
玉米粉曲奇的做法,玉米粉曲奇怎么做好吃,玉
苹果ios11 怎么投影到电脑上
城东房产地址有知道的么?有点事想过去
加工中心主轴锥孔加工怎么选择?
荣事达卫浴临夏州总代理地址有知道的么?有点
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?