zoukankan      html  css  js  c++  java
  • Socket接口

    Linux Socket函数库

    int socket(int domain, int type, protocol)

     用于分配Socket句柄,在特定的网络(domain)下,使用特定的协议(protocol)和数据传送方式(type)进行通信
    • domain – 通信使用的协议族、网络类型(TCP/IP协议族是ARPA Internet协议,AF_INET)
    • type – 数据传送方式(TCP是SOCK_STREAM,UDP是SOCK_DGRAM)
    • protocol – 通信中使用的协议(IPPROTO_TCP或IPPROTO_UDP)

    int close(int fd)

    关闭Socket
    
    • fd – Socket描述符

    int bind (int sockfd, struct sockaddr *my_addr, int addrlen)

     给Socket指定本地地址
    • dockfg – Socket描述符
    • addrlen – my——addr结构的长度
    • my——addr本地地址

    int listen(int s, int backlog)

    准备接受连接请求
    • s – Socket描述符
    • backlog – 链接请求暂存队列长度

    int accept(int s, struct sockaddr *addr, int *addrlen)

    接受指定Socket上的连接请求
    • s – Socket描述符
    • addr – 要接受的对方地址(IP地址和端口号)
    • addrlen – 地址长度

    int connect(int sockfd, struct sockaddr *serv_sddr, int addrlen)

    主动建立连接
    • sockfd – Socket描述符
    • servaddr – 通信目的地址
    • addrlen - 目的地址长度

    send&recv

    发送和接受数据,分别是有连接和无连接的

    - int send(int s, const void *msg, int len, unsigned int flags)

    • int sendto(int s, const void *msg, int len, unsigned int flags, const struct sockaddr *to, int tolen)

    • int recv(int s, void *buf, int len, unsigned int flags)

    • int recv(int s, void *buf, int len, unsigned int flags, struct sockaddr *from, int fromlen)


    read/write

    用系统文件操作进行Socket通信

    - ssize_t read(int fd. void *buf, size_ count) 
    - ssize_t write(int fd, const void *buf, size_t count)

  • 相关阅读:
    postgres 如何把多行数据,合并一行,返回json字符串
    linux 安装中文字体(生成图片中文乱码解决)
    postgis 自相交数据检测 修复
    C# Winform程序如何获取运行路径, 控制台也可以
    Excel: Access is denied
    change the theme in VS2005 or VS2008
    接下来的一点计划
    wordwrap, breakword
    T SQL + 正则表达式
    神奇的Css + DIV,滚动的Grid
  • 原文地址:https://www.cnblogs.com/bwjiang/p/7851329.html
Copyright © 2011-2022 走看看