TCP传输层协议

来源:互联网 发布:云计算市场分析报告 编辑:程序博客网 时间:2024/05/20 01:37
一、TCP 特点:
       1.面向连接(单连)
       2.数据可靠性
          发送应答机制
           超时重传
           错误校验
           流量控制和阻塞管理(自动匹配流量)
        3.流氏报文
        4.传输层协议
区别:(udp)面向连接,有序传输,重发丢失包,舍弃重复包,无差错的数据传输
缺点:没有边界(发俩个包,可能一个包接收)

二、TCP客户端
import socket
1.创建socket套接字---->网络地址协议族、流时报文
tcp_socket = socket.socket(socket.AF_INET,socket.SOCK_STREAM)

2.拨号----->建立和远程服务器的连接
( 客户端client,服务器server)
tcp_socket.connect(( “IP”,port ))


3.发送、接收&&&&&&&&&
发送函数send:
区别udp.sendto函数,只有一个参数bytes
类型数据
data =  input(“”)
tcp_socket.send(data.encode())

接收函数recv:
参数为收到最大字节数
返回值就是bytes类型数据
recv_data = tcp_socket.recv(4096)
print(recv_data.decode())

4.关闭

tcp_socket.close()

三、 TCP服务器

主动套接字--默认
listen是将主动套接字转换成被动套接字的函数(设置等待功能)
accept就是从等待中接通

import socket
1.创建套接字(总机)---->服务器套接字
sever_socket = socket.socket(socket.AF_INET ,socket.SOCK_STREAM)


2.绑定端口号
sever_socket.bind(("",10086))

3.安装一个服务器系统(设置被动套接字等待区域)(收到客户端连接请求)
listen函数:
参数为:最大容纳值
server_socket.listen(128)

4.从等待服务区内取出一个客户,使用分机服务.
accept函数:
1.参数:没有
2.返回值:客户端套接字(分机),客户端地址元组(“ip”,端口)(客户信息)
client_socket,client_addr= sever_socket.accept()
print("接受的到来自%s的连接请求"%str(client_addr))

5.服务器使用分机跟客户共同交流
recv函数:
while True:
返回值正常情况下为收到数据,不正常情况下,客户端断开连接的时候 recv会接收0字节的byetes数据.所以需要加入if判断
data = client_socket.recv(4096)
client_socket.send(data.decode("gbk").encode())

6.关闭分机
client_socket.close()

7.挂掉主机
重要注意点:

  1. 服务器需要绑定
  2. 客户端不需要绑定
  3. 服务器通过listen修改主动套接字为被动(设置等待区域)
  4. 客户端需要用connect去连接服务器
  5. 服务器收到客户端的连接请求成功会新建一个client_socket
  6. accept返回建立新的套接字,标识新的客户端
  7. 关闭listen,意味着被动套接字关闭了,新的无法再连接
  8. 关闭accept,返回的套接字意味着客户端服务结束
  9. 客户端调用close,服务器端recv解阻塞,会接收0字节数据。因此服务器可以通过接收数据大小判断客户端是否下线




















原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 拼多多盗淘宝图怎么办 微信视频清理了怎么办 牛仔短裤买大了怎么办 淘宝图片打开变大了怎么办 同城换公司社保怎么办 劳务不给交社保怎么办 好多工厂外包工不交社保怎么办 外包公司没有交社保怎么办 外包公司不给交社保怎么办 银行取100万现金怎么办 给老外发警告信后怎么办 照片上传是歪的怎么办 日亚不能直邮的怎么办 电话信息被卖了怎么办 被亚马逊跟卖了怎么办 玉米出芽后土壤不够湿怎么办 雨伞请输入授权码怎么办 网页放手机端后看不了怎么办 微信收款码存在违法行为怎么办 tst优惠码密码忘了怎么办 扩展器登录不上怎么办 微信学法小程序积分不更新怎么办 开发商不给办房产证怎么办 传淘宝产品规格不匹配怎么办 刚买的手机想退怎么办 空调主机空间不足不散热怎么办 lol网速快延迟高怎么办 4g手机延迟高怎么办 天气冷鼻炎就犯怎么办 天气冷宝宝发烧了怎么办 wp手机开机忘记了密码怎么办 微商退货不退款怎么办 微商退货了不退款怎么办 微商退货后不退款怎么办 有赞买东西付款没发货怎么办 赞礼号掉了东西怎么办 万达贷系统维护还不了款怎么办 qq文件发不出去怎么办 1688分销没有传淘宝怎么办 京东的货运代理怎么办 天天练推广期没了怎么办