Socket及基本应用(TCP)

1、什么是Socket(插座、套接字)

  • IP:网络中能标识唯一一台主机;
  • Port:主机中标识唯一一个进程;
  • Socket:IP+Port;
  • socket在Linux中为七种基本文件中的一个(普通-、目录d、连接l、管道p、字符设备c、块设备b、套接字s)

2、Socket的基本特性

  • socket是成对出现,绑定ip+端口
  • 一个文件描述符,两个缓冲区,全双工读写

3、C/S模型

  • 大小端问题:
    • 小端:低地址-存低位、高地址-存高位
    • 大端:低地址-存高位、高地址-存低位
  • 网络数据流应采用大端字节序,即低地址高字节
    #include <arpa/inet.h>[......]

    继续阅读

Linux编程–线程同步

1、什么是同步?

  • 同,指协同、协助、互相配合。主旨在协同步调,按预定的先后次序运行。
  • 线程同步,指一个线程发出某一功能调用时,在没有得到结果之前,该调用不返回。同时其它线程为保证数据一致性,不能调用该功能。
  • 同步的目的,是为了避免数据混乱,解决与时间有关的错误。实际上,不仅线程间需要同步,进程间、信号间等都需要同步机制。
  • 总结:所有“多个控制流,共同操作一个共享资源”的情况,都需要同步。[……]

    继续阅读