日期:2014-05-16 浏览次数:20964 次
网络:
1. 网络的基本概念
网络编程采用socket模型
网络通信本质也是进程之间的通信,是不同主机之间
识别主机:4字节整数 :ip地址
识别进程:2字节整数 :端口号
IP地址的表示方法: 内部表示:4字节整数
外部表示:数点字符串
结构体
1 2 3 4 分段表示,每个段使用.分割
"192.168.0.26"
ip地址转换:
#include<netinet/in.h>
structsockaddr_in
{
int sin_family
in_port_t sin_port;
struct in_addr sin_addr;
};
struct in_addr
{
in_addr_t s_addr;
};
总结:
ip地址的表示
字符串表示“192.168.0.26”
整数表示: in_addr_t
结构体表示:struct in_adddr
连接点:endpoint
struct sockaddr_in
{
in_port_t sin_port;
strcut in_addr sin_addr;
};
Ip地址的转换:
#include<arpa/inet.h>
inet_addr //把字符串转化为整数(网络字节序)
inet_aton //把字符串转化为structin_addr(网络字节序)
inet_network //把结构体转换为字符串(本地字节序)
inet_ntoa //把结构体转换为字符串
例子1:
#include<stdio.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<arpa/inet.h>
void main()
{
in_addr_t nip=192<<24|168<<16|0<<8|26;
char *ip= “192.168.0.26”;
int myip;
//把整数转换为字符串inet_ntoa
struct in_addr sip={nip};
printf(“%s\n”,inet_ntoa(si