您的位置:首页 > 理论基础 > 计算机网络

Sundy视频学习------TCPIP编程基础

2015-03-26 23:28 204 查看
一、

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

主机序 //网络序

常见的字节序:Little endian (小端)将低序字节存储在起始地址

大端:将高位字节存储在起始地址

htonl(host to net long)/htons/ntohs/ntohl大小端模式的转换

二、IP地址及端口号

struct sockaddr

{

short int sa_family;

char sa_data[14];

}

for ipv4
struct sockaddr_in    /*INET*/
{
sa_family_t  sin_family;
struct in_addr  sin_addr;
unsigned short int sin_port;
}

struct in_addr
{
uint32_t  s_addr;
}

struct sockaddr_un /*本地UNIX*/
{
sa_family_t  sun_family;
char sun_path[108];
}


三、IP地址的转换

int inet_aton(const char *cp, struct in_addr inp);

in_addr_t inet_addr(const char *cp);

int inet_ntoa(const char *cp, struct in_addr *inp);

四、DNS –HostName

struct hostent

{

char *h_name;

char **h_aliases;

int h_addrtype;

int h_length;

char **h_addr_list;

#define h_addr h_addr_list[0]

}

struct hostent *gethostbyname(const char *name);


五、TCP编程

服务器socket、bind、listen、accept、send/recv、close

客户端socket、connect、send/recv、close

不通过IP,而通过gethostbyname来请求服务器端: 无法连接是因为没有启动daytime服务;解决办法:安装xinetd、修改/etc/xinetd.d/daytime文件,将两个disable 的值yes改为no,然后重启/etc/init.d/xinetd restart

六、UDP编程

服务器socket、bind、recvfrom、处理、sendto、close

客服端socket、sendto、recvfrom、close
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: