上嵌学习笔记网络编程

系统与网络编程-(网络编程初讲)

2016-12-08  本文已影响42人  I踏雪寻梅

系统与网络编程

OSI模型

Paste_Image.png

socket

socket使用

struct sockaddr
{
    unsigned chort sa_family;//address簇,AF_XXX;
    char sa_data[14];/*14byte的协议地址*/
}
  • 一般来说,sa_family都是"AFINET"
  • SA_DATA包含了一些远程电脑的地址,端口,套接字的数目,它里面的数据是融合的。
struct sockaddr_in
{
    short int sin_family;//internet地址族
    unsigned short int sin_port;//端口号
    struct int_addr sin_addr;//internet地址
    unsigned char sin_zero[8];//添0(和struct sokcaddr一样大小)
}
//因特网地址
struct in_addr
{
    unsigned long s_addr;
};

转换函数

IP地址转换

struct sockaddr_in ina;
ina.sin_addr.s_addr=inet_addr("192.168.16.1");//存储ip
printf("%s",inet_ntoa(ina.sin_addr));//读取出ip地址

inet_ntoa每次调用都会改变函数结果

char *a1,*a2;
a1=inet_ntoa(ina1.sin_addr);//"192.168.16.1"
a2=inet_ntoa(ina2.sin_addr);//"192.168.16.2"
printf("address 1:%s\n",a1);
printf("address 1:%s\n",a1);

结果会显示:

address 1:192.168.16.2

address 2:192.168.16.2

基本套接字的使用

客户端与服务器端流式套接字

程序仅能实现服务器端与客户端的连接消息通信,也可以实现在两台电脑之间的通信,一台作为服务器,不能消息群发。

上一篇下一篇

猜你喜欢

热点阅读