/**
* ---结构体---
*
* #include <sys/socket.h>
* struct sockaddr {
* unsigned short sa_family;
* char sa_data[14];
* }
*
* #include <netinet/in.h>
* struct sockaddr_in {
* short int sin_family; //sa_family_t
* unsigned short sin_port; //in_port_t
* struct in_addr sin_addr;
* unsigned char sin_zero[8];
* }
*
* #include <netinet/in.h>
* sturct in_addr {
* uint32_t s_addr;
* }
*/ /**
* --IP转换---
* ulong inet_addr(const char *ip); //将一个点分十进制的ip转换成一个网络字节序的长整型数
* int inet_aton(const char *ip, struct in_addr *inp); //将一个字符串ip转换成一个32位的网络字节序
* char *inet_ntoa(sturct in_addr in);
*/ /**
* ---域名转换---
* #include <netdb.h>
* struct hostent{
* char *h_name;
* char **h_aliases;
* short h_addrtype;
* short h_length;
* char **h_addr_list;
* }
* #define h_addr h_addr_list[0]
* sturct hostent *h = gethostbyname(const char *hostname); //结果会存在resbuf里边
*
*/ /**
* ---字节序转换---
* #include <arpa/inet.h>
* uint32_t htonl(uint32_t hostlong)
* uint32_t ntohl(uint32_t hostlong)
* uint16_t htons(unit16_t hostshort)
* uint16_t ntohs(uint16_t hostshort)
*/ /**
*
*/ /**
* int socket(int domain, int type, int protocol);
* int bind(int sockfd, const struct sockaddr *addr, socklen_t addrlen);
* int listen(int sockfd, int backlog);
* int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen);
* int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen);
* int send(int sockfd, const void *buf, size_t len, int flags);
* int recv(int sockfd, void *buf, size_t len, int flags);
*/

C语言:关于socket的基础知识点的更多相关文章

  1. c语言学习之基础知识点介绍(二):格式化控制符和变量的补充

    上节简单介绍了c语言中的一些基础知识点,本节将对之前介绍的不够详细的知识点进行补充. 格式化控制符的消息介绍: %d的其他控制符: 1.%md:m代表这个整数位占用多少位,m是一个整数.实际数字不足的 ...

  2. JavaScript语言基础知识点图示(转)

    一位牛人归纳的JavaScript 语言基础知识点图示. 1.JavaScript 数据类型 2.JavaScript 变量 3.Javascript 运算符 4.JavaScript 数组 5.Ja ...

  3. JavaScript 语言基础知识点总结

    网上找到的一份JavaScript 语言基础知识点总结,还不错,挺全面的. (来自:http://t.cn/zjbXMmi @刘巍峰 分享 )  

  4. c语言学习之基础知识点介绍(三):scanf函数

    本节继续介绍c语言的基础知识点. scanf函数:用来接收用户输入的数据. 语法:scanf("格式化控制符",地址列表); 取地址要用到取地址符:&(shift+7) 例 ...

  5. JavaScript语言基础知识点图示

    原文:JavaScript语言基础知识点图示 一位牛人归纳的JavaScript 语言基础知识点图示. 1.JavaScript 数据类型 2.JavaScript 变量 3.Javascript 运 ...

  6. .NET基础知识点

    .NET基础知识点   l  .Net平台  .Net FrameWork框架   l  .Net FrameWork框架提供了一个稳定的运行环境,:来保障我们.Net平台正常的运转   l  两种交 ...

  7. JavaScript 开发者经常忽略或误用的七个基础知识点(转)

    JavaScript 本身可以算是一门简单的语言,但我们也不断用智慧和灵活的模式来改进它.昨天我们将这些模式应用到了 JavaScript 框架中,今天这些框架又驱动了我们的 Web 应用程序.很多新 ...

  8. JavaScript 开发者经常忽略或误用的七个基础知识点

    JavaScript 本身可以算是一门简单的语言,但我们也不断用智慧和灵活的模式来改进它.昨天我们将这些模式应用到了 JavaScript 框架中,今天这些框架又驱动了我们的 Web 应用程序.很多新 ...

  9. JavaScript开发者常忽略或误用的七个基础知识点

    JavaScript 本身可以算是一门简单的语言,但我们也不断用智慧和灵活的模式来改进它.昨天我们将这些模式应用到了 JavaScript 框架中,今天这些框架又驱动了我们的 Web 应用程序.很多新 ...

随机推荐

  1. Android消息机制入门

    接着处理<Android 网络图片查看器>中出现的问题 使用添加子线程,修改原程序: package com.wuyudong.imagesviewer; import java.io.I ...

  2. UIView属性

    UIView属性 1.alpha 设置视图的透明度.默认为1. // 完全透明 view.alpha = 0; // 不透明 view.alpha = 1; 2.clipsToBounds // 默认 ...

  3. class&meta class

    http://chun.tips 当我们发送一个消息给一个NSObject对象时,这条消息会在对象的类的方法列表里查找当我们发送一个消息给一个类时,这条消息会在类的Meta Class的方法列表里查找 ...

  4. 【原】ios打包ipa的四种实用方法(.app转.ipa)

    总结一下,目前.app包转为.ipa包的方法有以下几种: 1.Apple推荐的方式,即实用xcode的archive功能 Xcode菜单栏->Product->Archive->三选 ...

  5. thinkphp 创建子应用

    1 根目录建立 文件名 a 2 a 下建立index.php define('APP_NAME', 'a');define('APP_PATH', './a');define('RUNTIME_PAT ...

  6. sublime text 3 常用快捷键 、常用插件

    常用快捷键 查找( Ctrl + P ) 找到任何东西 - :+行号   定位到具体的行 - @+符号  js的函数名, css的选择器名 - #+关键字  定位到特定的关键字 命令面板 (Ctrl ...

  7. 0. CMMI快乐之旅——内容简介及目录

    摘要: 这是我几年前发表于 www.cmmionline.net 网站(现在升级为www.umlonline.org 网站)数十篇文章,全方位分享了我对CMMI的理解,现我打算整理这些文章陆续在CSD ...

  8. 【译】Java中的对象序列化

    前言 好久没翻译simple java了,睡前来一篇. 译文链接: http://www.programcreek.com/2014/01/java-serialization/ 什么是对象序列化 在 ...

  9. TechEd2013 Shanghai Hol Session PPT Share

    上个月去上海参加了TechEd 2013,并且参与了Hands-on-Lab环节,作为讲师引导大家完成<Local DB in WP8>实验的内容.由于实验的内容采用MVVM架构完成,因此 ...

  10. Oracle shutdown immediate遭遇ORA-24324 ORA-24323 ORA-01089

    一数据库服务器执行shutdown immediate时,遇到了下面ORA错误,如下所示: $ sqlplus / as sysdba   SQL*Plus: Release 10.2.0.4.0 - ...