zoukankan      html  css  js  c++  java
  • TCP协议简单套接字通信 服务端

    '''
    SOCK_STREAM TCP协议又被称为流逝协议
    SOCK_DGRAM UDO协议又被称为数据报协议
    '''
    # import socket
    # phone=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    # phone.bind(('127.1.1.1',8888))
    # phone.listen(5)
    # print('starting...')
    # phone.accept()
    # print('>>:')
    '''
    starting...
    '''
    # import socket
    # phone=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    # # phone.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1) # 有的系统IP地址不可以重复,可以在绑定之前用这个办法解决
    # phone.bind(('127.1.1.1',8888))
    # phone.listen(5)
    # print('starting...')
    # conn,client_addr=phone.accept()
    # print(conn,client_addr)
    # data=conn.recv(1024) # 最多收1024bytes
    # conn.send(data.upper())
    # conn.close()
    # phone.close()
    '''
    starting...
    <socket.socket fd=488, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('127.1.1.1', 8888), raddr=('127.0.0.1', 61589)> ('127.0.0.1', 61589)
    '''
    # import socket
    # phone=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    # phone.bind(('127.1.1.1',8888))
    # phone.listen(5)
    # print('starting...')
    # conn,client_addr=phone.accept()
    # print(conn,client_addr)
    # while True:
    # data=conn.recv(1024)
    # conn.send(data.upper())
    # conn.close()
    # phone.close()
    '''
    starting...
    <socket.socket fd=500, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('127.1.1.1', 8888), raddr=('127.0.0.1', 62235)> ('127.0.0.1', 62235)
    '''
    # import socket
    # phone=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    # phone.bind(('127.1.1.1',8888))
    # phone.listen(5)
    # print('starting...')
    # conn,client_addr=phone.accept()
    # print(conn,client_addr)
    # while True:
    # data=conn.recv(1024)
    # print('客户端消息',data)
    # conn.send(data.upper())
    # conn.close()
    # phone.close()
    '''
    starting...
    <socket.socket fd=544, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('127.1.1.1', 8888), raddr=('127.0.0.1', 62260)> ('127.0.0.1', 62260)
    客户端消息 b'rambo'
    '''
    # import socket
    # phone=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    # phone.bind(('127.1.1.1',8888))
    # phone.listen(5)
    # print('starting...')
    # conn,client_addr=phone.accept()
    # print(conn,client_addr)
    # while True:
    # data=conn.recv(1024)
    # print('客户端消息',data)
    # conn.send(data.upper())
    # print('has send')
    # conn.close()
    # phone.close()
    '''
    starting...
    <socket.socket fd=528, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('127.1.1.1', 8888), raddr=('127.0.0.1', 62291)> ('127.0.0.1', 62291)
    客户端消息 b'rambo'
    has send
    '''
    # import socket
    # phone=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    # print(phone)
    # phone.bind(('127.1.1.1',8888))
    # phone.listen(5)
    # print('starting...')
    # conn,client_addr=phone.accept()
    # print(conn,client_addr)
    # while True:
    # data=conn.recv(1024)
    # print('客户端消息',data)
    # conn.send(data.upper())
    # print('has send')
    # conn.close()
    # phone.close()
    '''
    <socket.socket fd=124, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0>
    starting...
    '''
    '''
    两个套接字对象,一个是accept,用来跟客户端来建立三次握手
    一种是conn,是accept之后的结果
    '''
    ''''''
    # import socket
    # phone=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    # phone.bind(('127.1.1.1',8888))
    # phone.listen(5)
    # print('starting...')
    # while True:
    # conn,client_addr=phone.accept()
    # print(client_addr)
    # while True:
    # try:
    # data=conn.recv(1024)
    # if not data:break
    # print('客户端消息',data)
    # conn.send(data.upper())
    # print('has send')
    # except ConnectionResetError:
    # break
    # conn.close()
    # phone.close()
  • 相关阅读:
    坐标系操作
    创建重复字符的字符串
    添加和读取扩展数据
    GDI+ 透明画刷
    AutoCAD将焦点设置为绘图窗口
    DataGridView复制到Excel格式
    VB.NET 如何使用AutoCAD事件
    DataGridView禁用行标题中的三角号
    day80-drf-web开发模式、api接口、postman的使用、Restful规范(重点)、drf的安装和简单使用 、cbv源码、APIView源码分析
    day81-drf-序列化组件、简单使用、字段类型、字段选项、修改数据、read_only、write_only、查询所有、新增、删除、模型类序列化、源码分析
  • 原文地址:https://www.cnblogs.com/0B0S/p/12125163.html
Copyright © 2011-2022 走看看