码迷,mamicode.com
首页 > 系统相关 > 详细

linux应用开发-Socket

时间:2015-05-19 13:08:14      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:网络编程   linux   socket   域名   tcp   

linux应用开发-Socket
一 Socket
socket是独立于具体协议的网络编程接口
在osi模型中,主要位于会话层和传输层之间
特点
1 是一个编程接口
2 是一种特殊的文件描述符
3 并不仅限于TCP和IP
4 面向连接和无连接的两种方式

二 socket类型
常用
SOCK_STREAM:按照顺序,可靠的,数据完整,基于字节流,使用TCP传输,使用最多的
SOCK_DGRAM:无连接,固定长度,不可靠,基于UDP传输
不常用
SOCK_SEQPACKET,SOCK_RAW,SOCK_RDM

三 字节序

概念:字节序是指多字节数据在计算机内存中储存或者网络传输时个字节的传输顺序

分类:主机序和网络序

常见字节序:
Little endian 低字节储存在起始地址
BIg endian 高字节储存在起始地址

字节序转换

不同主机的字节序不同,为了统一,引入了网络字节序(大端模式)


主机->网络
u_long ntohl(u_long hostlong)
u_short htons(u_short short)
host to network long

host to network short


网络->主机
u_long ntohl(u_long hostlong)
u_short ntohs(u_short short)
network to host long
network to host short

四 IP地址转换
1 inet_aton
2 inet_addr
3 inet_ntoa

五 获取DNS
根据域名获取ip地址gethostbyname

详情可以参看linux系统的man手册

六 一个案例

aton

技术分享

ntoa

技术分享

gethostbyname

技术分享


linux应用开发-Socket

标签:网络编程   linux   socket   域名   tcp   

原文地址:http://blog.csdn.net/qq_22075977/article/details/45842639

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!