TCP服务器如何区分不同的用户
2017-12-28 00:38
302 查看
CS架构:使用SOCKET(一般是一个整数),当服务器侦听到连接请求的时候,accept会返回一个SOCKET(用于识别不同的连接,可以理解成,SOCKET是区分不同连接的ID)。当服务器listen的时候,需要传入某个SOCKET作为listen的参数。至此listen已经与特定的用户绑定。一般的设计架构是:服务器主线程使用accept接收连接,收到一个连接,就创建一个进程或者线程(一般用进程,进程间资源不共享),并把SOCKET作为参数传入,在进程或者线程内使用listen侦听。至此,一个程序中有很多listen,并且这些listen与客户端一一对应。如果服务器资源比较紧张,注意对超时进程或者线程进行释放,以及尽量使用短连接的形式(客户端的小块功能生命周期对应服务器的某个进程或者线程,而不是整个客户端的生命周期对应服务器的某个进程或者线程)。
BS架构:我们都知道TCP是面向连接的,但在BS中,浏览器等每次请求(例如post请求)都经历了TCP的请求连接到连接释放的过程(这一句是自己对网上资料的理解,未进行验证)。BS架构中,TCP连接是无状态的。这时,服务器如何跟踪用户的行为就只能通过其他手段了。常用的方式有session与cookie。
关于session与cookie请参见:
https://zhidao.baidu.com/question/715986991818532925.html
https://www.cnblogs.com/zhouhbing/p/4204132.html
此文话语比较啰嗦,见谅!
BS架构:我们都知道TCP是面向连接的,但在BS中,浏览器等每次请求(例如post请求)都经历了TCP的请求连接到连接释放的过程(这一句是自己对网上资料的理解,未进行验证)。BS架构中,TCP连接是无状态的。这时,服务器如何跟踪用户的行为就只能通过其他手段了。常用的方式有session与cookie。
关于session与cookie请参见:
https://zhidao.baidu.com/question/715986991818532925.html
https://www.cnblogs.com/zhouhbing/p/4204132.html
此文话语比较啰嗦,见谅!
相关文章推荐
- asp如何区分同一局域网的不同用户的方法
- 如何区分不同用户——Cookie/Session机制详解
- Cookie/Session机制详解——如何区分不同用户
- 一分钟解惑:上万个用户请求,服务器如何区分
- 如何区分不同用户——Cookie/Session机制详解
- 如何区分不同用户——Cookie/Session机制详解
- 如何区分不同用户——Cookie/Session机制详解
- [图示]营销理论:不同时代的用户如何接受一个新事物?
- 利用Django-environ如何区分不同环境
- Drupal8 社区文档之区分不同的用户
- 如何重置Oracle服务器ILOM中root用户的密码
- 软交换:如何区分用户面数据(语音、视频、传真)
- python-如何根据用户选择实现不同函数功能
- vsftp如何配置虚拟用户实现不同用户拥有不同权限和不同目录
- vue-router如何根据不同的用户给不同的权限
- 如何使用TCP/IP与服务器进行通信-一个简单的聊天程序
- 如何根据http请求信息区分访问用户的国家、语言信息
- 如何把App放在服务器上供用户下载
- Linux下的单进程多用户TCP服务器,采用select方法实现。
- DNS分离解析——提高不同用户访问服务器的速度