服务器和客户端都有端口号,但是,服务器的端口号是重要的,因为客户端只有了解了服务器的地址和端口号,才可以连接到它(即使是采用UDP传输数据,也需要指定发送目标的地址和端口号);而客户端的端口号是无关紧要的,一般由操作系统自动分配。
服务端怎么知道和客户端的哪个进程连接???
---------------------------------------------------------
对于TCP,服务器在客户端连接后,会在监听套接字之外另外生成一个新的套接字,表示与客户端的连接,这个套接字了解客户端的地址和端口号,从而可以区分是哪个客户端;
对于UDP,服务器在收到UDP数据时,也了解数据来自什么地址和端口,也可以区分是哪个客户端。
从基本的网络概念来说,网络层(IP)负责两个主机间的通信,用IP地址区分主机;传输层(TCP和UDP)处理两个进程间(可以是在同一台机器中的两个进程,也可以是不同主机中的两个进程)的通信,用端口号区分进程。两者合起来就是,用 IP地址+传输层协议+端口号 来区分与谁进行通信。(传输层协议就是指TCP或者UDP,也可以是别的传输层协议,因为互联网协议栈是个开放的结构,其他传输层协议也可以利用IP作为网络层提供的服务)
不论是服务器编程还是客户端编程,其中设置的主机(ip地址),端口号都是服务器端的ip和端口号。客户端的端口号由系统自动分配。客户端端口号和服务器端的端口号没必要相同。服务器要监听客户机的链接,所以需要人为的设置绑定端口。这样客户端才能根据ip地址和端口号访问服务器。服务器端的accept()函数接收到客户端连接时,便重新建立一个socket,这个socket里面含有客户端的地址和端口号信息,以此实现服务器和客户端的通信。 侦听端口是服务器向客户端所开放的端口,也就是客户端要连接服务器需要的目标端口。通信端口是客户端去访问服务器端口时所携带的源端口,这两个端口号是不一样的,服务端侦听的端口号一般是固定的,而客户端的通信源端口号是随机产生的。
如果想自己指定客户端的端口,那么可以向在服务端一样,在socket()创建客户端套接字后,调用一下bind()函数来绑定本机端口。然后在调用connect()函数绑定服务器的主机和端口。

qt5 tcp服务器编程 多固定客户_服务器与客户端进程之间端口号联系相关推荐

  1. qt5 tcp服务器编程 多固定客户_如何编程实现电脑与智能小车通信?

    51智能小车编程 最近在做智能小车,需要实现编写上位机控制智能小车行驶方向与运行速度.因此首先需要解决的问题就是需要考虑如何实现计算机与智能小车进行通信.所使用硬件设备主要包括51单片机开发板.ESP ...

  2. 客户机-服务器系统,3、客户机/服务器系统(Client/Server)

    3.客户机/服务器系统(Client/Server) 3.1客户机/服务器系统结构 客户机/服务器系统(Client/Server System)是Internet中最重要的应用技术之一,其系统结构是 ...

  3. linux高性能服务器编程第八章(高性能服务器程序框架)

    C/S模型 传统C/S,一端作为客户端,一端作为服务器,这里不做多介绍. P2P模型 peer 2 peer ,每台机器使用服务的同时也提供服务,通俗的讲,没有绝对客户端和服务端的概念,当下云计算的模 ...

  4. 客户机-服务器系统,什么是客户机/服务器计算

    什么是客户机/服务器计算 客户机/服务器计算定义一种体系结构,在该结构中,程序逻辑分布在客户机系统和服务器系统之间.客户机/服务器计算是20世纪80年代的各种趋势形成的结果,它使用通过LAN连接到后端 ...

  5. 服务器断电mysql文件丢失_服务器断电了怎么恢复数据?

    最近小编我连续几天接到了大量关于服务器断电后的各种数据丢失,有的是意外断电导致服务器无法启动了,有的是服务器可以启动但是虚拟机丢失了,还有的是服务器断电后有多块硬盘出现故障离线了等等.....(怎么好 ...

  6. 客服 服务器系统中客户机和服务器,客户机/服务器计算是什么 客户机/服务器计算介绍【详解】...

    什么是客户机/服务器计算 客户机/服务器计算定义一种体系结构,在该结构中,程序逻辑分布在客户机系统和服务器系统之间.客户机/服务器计算是20世纪80年代的各种趋势形成的结果,它使用通过LAN连接到后端 ...

  7. 服务器双网卡设置安全_服务器的基础知识

    服务器是指在网络环境下运行相应的应用软件,为网上用户提供共享信息资源和各种服务的一种高性能计算机.由于服务器是针对具体的网络应用特别制定的,因而服务器又与微机(普通PC)在处理能力.稳定性.可靠性.安 ...

  8. mysql有多少个端口号_查看mysql端口号(mysql端口号是多少)

    查看mysql端口号(mysql端口号是多少) 2020-05-07 22:11:45 共10个回答 如何查看mysql的端口号 1使用命令showglobalvariableslike'port'; ...

  9. python 与别的程序通信_《Python》进程之间的通信(IPC)、进程之间的数据共享、进程池...

    一.进程间通信---队列和管道(multiprocess.Queue.multiprocess.Pipe) 进程间通信:IPC(inter-Process Communication) 1.队列 概念 ...

  10. 在TCP/IP网络中,为各种公共服务保留的端口号范围

    端口号可以分为三个范围:"已知端口"."注册端口"以及"动态和/或专用端口". "已知端口"是从 0 到 1023 的端 ...

最新文章

  1. Golang 日志框架 Zap 入坑指南
  2. python webshell_python脚本实现查找webshell的方法
  3. 关于Python的执行原理你了解吗?
  4. Pytorch学习(一)—— 自动求导机制
  5. ServletRequestAttributes用法详解——Spring系列学习笔记
  6. [翻译练习] 对视图控制器压入导航栈进行测试
  7. css页面布局的感想,css布局实践感想(示例代码)
  8. heartbeat v2+ldirectord+LVS集群
  9. Eclipse-无法执行现有代码,依旧执行以前的代码
  10. 从复杂指令系统到精简指令系统
  11. TP5 Validate 验证
  12. 给MDK5/KEIL5安装51/ARM编译坏境
  13. python 拼音地名对应关系,Python使用百度地图API根据地名获取相应经纬度
  14. 凯恩斯主义税收思想概述
  15. mysql高效查询_mysql 高效率查询背景
  16. matlab画单位圆的代码,请问用MATLAB软件,以动画的形式作出单位圆x^2 +y^2 = 1的图像的程序代码是什么?...
  17. 51单片机学习笔记——SH88F4051A
  18. APS系统是什么意思?起什么作用
  19. vue3.2的TS写法
  20. 2019年,大前端技术趋势程度解读

热门文章

  1. HTTP GET请求URL中IP被异常替换的问题
  2. 参与全国软考调查问卷,赢精彩大奖
  3. GPO备份还原复制及导入
  4. 算法面试题(数据结构)
  5. c语言else语句,C# if…else 语句 | 菜鸟教程
  6. C#删掉了发给lua的对象造成lua实际的Obj无效,解决办法
  7. springboot生成包含特定数字_关于Spring Boot 这可能是全网最好的知识点总结
  8. 十六进制转十进制_跟运维组学Python之秒懂十六进制
  9. 【已解决】FAILURE: Build failed with an exception......
  10. Android对话框总结(普通对话框,单选对话框,多选对话框,自定义对话框)