社区
Linux/Unix社区
帖子详情
sockaddr在那个头文件里?
jilei82
2004-09-22 11:33:00
本人初学linux网络编程。很多东西不知道。
...全文
1929
7
打赏
收藏
sockaddr在那个头文件里?
本人初学linux网络编程。很多东西不知道。
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
服务器内的蜗牛
2004-09-24
打赏
举报
回复
sockaddr is at linux/socket.h
^_^
yanedanny
2004-09-24
打赏
举报
回复
if(connect(sockfd,(sockaddr *)&servaddr,sizeof(servaddr))<0)中(sockaddr *)的改为(sockaddr_in *)。
你太粗心了。
jilei82
2004-09-23
打赏
举报
回复
试了还是不行。
代码如下:
#include <sys/types.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <netinet/in.h>
#include <errno.h>
#include <stdio.h>
#define MAXLINE 2096
int main(int argc,char **argv)
{
int sockfd,n;
char recvline[MAXLINE+1];
struct sockaddr_in servaddr;
if(argc!=2)
err_sys("usage:filename<ip address>");
if(sockfd=sock(AF_INET,SOCK_STREAM,0)<0);
err_sys("sock call error\n");
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)
err_quit("inet_pton call error for %s\n",argv[1]);
if(connect(sockfd,(sockaddr *)&servaddr,sizeof(servaddr))<0)
err_sys("connect error\n");
while((n=read(sockfd,recvline,MAXLINE))>0)
{
recvline[n]=0;
if(fputs(recvline,stdout)==EOF)
err_sys("fputs error\n");
}
exit(0);
}
哪位大侠看看问题在哪里。
yanedanny
2004-09-23
打赏
举报
回复
#include <sys/socket.h>前应该include <sys/types.h>。试试!
jilei82
2004-09-23
打赏
举报
回复
我用了
#include <sys/socket.h>
if(connect(sockfd,(sockaddr *)&servaddr,sizeof(servaddr))<0)
err_sys("connect error\n");
编译的时候总说:sockaddr 没有定义。
lynux
2004-09-23
打赏
举报
回复
man socket
lijiangshui
2004-09-22
打赏
举报
回复
<sys/socket.h>
sock
add
r_in 结构体在什么
头文件
中声明
在编写Linux下的网络程序时,使用了
sock
add
r_in结构,在
头文件
中声明了#include <sys/
sock
et.h>,系统仍不承认
sock
add
r_in结构.因为代码中还少包含了一个
头文件
#include <netinet/in.h> 而 inet_
add
r 需要#include <arpa/inet.h>所以#include <sys/so...
sock
add
r和
sock
add
r_in详解
struct
sock
add
r和struct
sock
add
r_in这两个结构体用来处理网络通信的地址。 一、
sock
add
r
sock
add
r在
头文件
#include <sys/
sock
et.h>中定义,
sock
add
r的缺陷是:sa_data把目标地址和端口信息混在一起了,如下: struct
sock
add
r { sa_family_t sin_fam.................................
sock
add
r、
sock
add
r_in、
sock
add
r_in6的区别及转换
本文转自:https://blog.csdn.net/albertsh/article/details/80991684 前言 最近在学习网络相关的知识,虽然之前代码写了不少,但是长时间不写难免会忘记,简单地复习了一下IO多路复用的方式,对比了解了一下epoll模式和select模式的异同,不过写代码的时候发现,这个
sock
et连接中有几个结构还是挺让人头大的,用着用着突然就强转成其他的类型了,...
sock
add
r_in
头文件
与
sock
add
r
头文件
不是同一个
sock
add
r_in
头文件
为:#include
sock
add
r
头文件
为:#include
结构体
sock
add
r、
sock
add
r_in、
sock
add
r_in6之间的区别和联系
本文转自https://blog.csdn.net/albertsh/article/details/80991684,简单易懂,赞。 前言 最近在学习网络相关的知识,虽然之前代码写了不少,但是长时间不写难免会忘记,简单地复习了一下IO多路复用的方式,对比了解了一下epoll模式和select模式的异同,不过写代码的时候发现,这个
sock
et连接中有几个结构还是挺让人头大的,用着用着突然就强转成其他的类型了,加上年前改了半天IPv6的连接,这几个结构体更加混乱,所以今天角色放到一起,从源码的角度看一下s
Linux/Unix社区
23,224
社区成员
74,536
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章