创建一个socket,使用函数socket()

socket(套接字)实质上提供了进程通信的端点,进程通信之前,双方首先必须建立各自的一个端点,否则没有办法通信。通过socket将IP地址和端口绑定之后,客户端就可以和服务器通信了

#include

int socket(int domain , int type ,int protocol)

返回值:成功返回套接字文件描述符,失败返回-1

struct sockaddr_in (或者 struct sock_addr)用于记录网络地址

struct sockaddr_in

{

short int sin_family;/*协议族*/

unsigned short int sin_port;/*端口号*/

stunt in_addr sin_addr; /*协议特定地址*/

unsigned char sin_zoero[8]; /*填0*/

}

IP地址转换

int inet_aton(const char *cp,struct in_addr *inp)//将a.b.c.d形式的IP转换为32位的IP。存储在inp指针里

char *inet_ntoa(struct in_addr in)//将32位IP转换位a.b.c.d的格式

字节序转换

绑定IP地址和端口信息到socket,使用函数bind()

让用户发现用以连接的服务器的地址

返回值:成功返回0,失败返回-1

#include

int bind ( int sockfd , const struct sockaddr *addr , socklen_t len );

设置允许的最大连接数,使用函数listen()

服务器调用listen函数来宣告可以接受连接请求

#include

int listen(int sockfd , int backiog );

返回值:成功返回0,失败返回-1

参数backiog:用于表示服务器能接受的请求数量

等待来自客户端的连接请求,使用函数accept( )

#include

int accept( int sockfd ,struct sockaddr *restrict addr , socklen_t * restrict len );

收发数据,用函数recv()、send()/ sendto()或者 read()、write()

关闭网络连接,close

内容来源于网络如有侵权请私信删除

linux tcp 创建,Linux下tcp服务器创建的步骤相关推荐

  1. linux新建图片,Fedora 下的图像创建程序 | Linux 中国

    原标题:Fedora 下的图像创建程序 | Linux 中国 Fedora 有很多程序可以帮助你的创造力.从数字绘图.矢量到像素艺术,每个人都可以在这个周末发挥创意. -- Ryan Lerch 致谢 ...

  2. Windows下SVN服务器的搭建步骤

    1.下载svn服务端和客户端 服务端VISUALSVN SERVER:https://www.visualsvn.com/ 客户端TortoiseSVN:https://tortoisesvn.net ...

  3. linux tcp前景,linux – 为什么在Xen下TCP接受()性能如此糟糕?

    在Xen下,我的服务器可以接受()新的传入TCP连接的速度非常糟糕.裸机硬件上的相同测试显示3-5倍的加速. >在Xen下怎么会这么糟糕? >您是否可以调整Xen以提高新TCP连接的性能? ...

  4. mc服务器word文件夹,我的世界服务器创建:MC个人服务器创建流程

    :缺防盗等等乏的级高能功合:适友之间朋联机bkkuti务器服优点功:齐能全,插件样缺点多配置非常:复杂mi,encarft级升时的候能不步同新更适合:专服业务器第步.三硬配置件的世我服界器务建创首要具 ...

  5. Linux(ubuntu16.04)FTP服务器搭建详细步骤

    学习linux时遇到了文件传输问题,发现ftp服务器是常用的一种,所以搜集整理了ftp服务器的搭建. 首先介绍一下FTP服务器: FTP 是File Transfer Protocol(文件传输协议) ...

  6. Linux下TCP网络编程-创建服务器与客户端

    一.前言 互联网概念诞生于20世纪60年代末,从9几年中国接入互联网开始到现在,生活的每个角落都能看到网络的使用.现在物联网时代.共享经济的到来,生活中不仅仅电脑.手机可以接入网络,身边的各个设备也能 ...

  7. 1 linux下tcp并发服务器的几种设计的模式套路,Linux下几种并发服务器的实现模式(详解)...

    1>单线程或者单进程 相当于短链接,当accept之后,就开始数据的接收和数据的发送,不接受新的连接,即一个server,一个client 不存在并发. 2>循环服务器和并发服务器 1.循 ...

  8. Linux下TCP最大连接数受限问题

    一. 文件数限制修改 1.用户级别 查看Linux系统用户最大打开文件限制: # ulimit -n 1024 (1) vi /etc/security/limits.conf mysql soft ...

  9. linux下TCP通信简单实例

    linux下TCP通信简单实例 基于TCP(面向连接)的socket编程,分为服务器端和客户端 服务器端的流程如下: (1)创建套接字(socket) (2)将套接字绑定到一个本地地址和端口上(bin ...

  10. 一台服务器最多能创建多少个 TCP 连接?

    目录 1.TCP连接的创建 2.端口号的限制 3.文件描述符的限制 4.线程数量的限制 5.内存的限制 6.CPU的限制 7.总结 8.后记 原文链接:https://mp.weixin.qq.com ...

最新文章

  1. Vue父组件网络请求回数据后再给子组件传值demo示例
  2. 前端页面适配的rem换算
  3. 查看mysql是否内存中读取数据_MySQL中的内存临时表
  4. Jar 包依赖冲突排查思路和解决方法
  5. 云消防大数据_消防云大数据app
  6. 将视图转为image_OpenShift 4.3 之 直接将Web应用当成Serverless运行
  7. diffrences between ARP table and MAC address table
  8. smash:一个类unix内核
  9. 设计模式(6)——命令模式
  10. 机器人编程java面试题,7届国赛java试题 4: 机器人塔
  11. Python遗传算法初学者教程
  12. syslog工具_INAV:一款专用的日志审查导航工具
  13. Allegro 铜皮分割 详解
  14. 分析微信发送消息接口(基于网页版分析)
  15. 电脑编程和计算机编程有什么区别,机器人编程与电脑编程有何区别?官方专家为你详细解说!...
  16. 计算机网络谢希仁(1)
  17. Elasticsearch之中文分词器插件es-ik的自定义热更新词库
  18. 三、python爬虫学习--动态下载网站漫画
  19. jpg格式图片打不开怎么办
  20. 虚拟主机的服务器配置在哪,配置Apache服务器下的虚拟主机设置有什么要求?景安...

热门文章

  1. linux c之wait和waitpid函数的用法和总结
  2. linux之cut命令使用和总结
  3. batchsize和数据量设置比例_Keras - GPU ID 和显存占用设定步骤
  4. 删除含有关键词的文件_AweEraser——macOS Catalina最佳的文件粉碎机
  5. python数字从大到小排列_Python练习题 005:三个数字由大到小排序输出
  6. 据说很多女生都想知道男生是如何上厕所的?
  7. 盘点这些年被黑的最惨的语言
  8. 我背着女朋友,用 Python 偷偷抓取了她的行踪
  9. mysql utf8 bin设置_[mysql]修改collation为utf8_bin
  10. 面试常见问题_软件实施工程师面试中的常见问题都有哪些呢?