zoukankan      html  css  js  c++  java
  • 第二节 tcp

    tcp严格区分客户端和服务器,udp则没有,tcp需要通过三次握手四次挥手来保证数据传输的安全性,而udp没有

     1 import socket
     2 
     3 def main():
     4     '''客户端'''
     5     # 1、创建套接字
     6     tcp_client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
     7 
     8     # 2、连接服务器
     9     server_ip = input('请输入你要连接服务器的IP:')
    10     server_port = int(input('请输入你链接服务器的端口:'))
    11     server_addr = (server_ip, server_port)
    12     tcp_client_socket.connect(server_addr)
    13 
    14     # 3、发送/接收数据
    15     send_data = input('请输入你要发送的信息:')
    16     tcp_client_socket.send(send_data.encode('gbk'))
    17     print(tcp_client_socket.recvfrom(1024))
    18 
    19     # 4、关闭套接字
    20     tcp_client_socket.close()
    21 
    22 
    23 if __name__ == '__main__':
    24     main()
     1 import socket
     2 
     3 def main():
     4     '''服务器'''
     5     # 1、创建套接字
     6     tcp_server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
     7 
     8     # 2、绑定本地信息
     9     tcp_server_socket.bind(('192.168.0.106',7878))
    10 
    11     # 3、让默认的套接字有主动变成被动
    12     tcp_server_socket.listen(128)
    13 
    14     # 128是指最大运行客户端的链接数
    15     while True:
    16         # 4、等待客户端的连接
    17         new_client_socket, client_addr = tcp_server_socket.accept()
    18         # 服务器处于阻塞状态,等待客户端连接
    19         while True:
    20             # 5、接收客户端发送过来的请求
    21             recv_data = new_client_socket.recv(1024)
    22 
    23             # 如果客户端执行了close()操作,那么会返回空字符串
    24             if recv_data:
    25                 print(recv_data.decode('gbk'))
    26             else:
    27                 break
    28         # 6、回送一部分数据给客户端,即响应客户端
    29         # new_client_socket.send('4444'.encode('gbk'))
    30 
    31         # 关闭套接字
    32         new_client_socket.close()
    33         break
    34     tcp_server_socket.close()
    35 
    36 
    37 if __name__ == '__main__':
    38     main()
  • 相关阅读:
    JS判断鼠标移入元素的方向
    EJB开发第一个无状态会话bean、开发EJBclient
    Android摇一摇振动效果Demo
    吃饭与团队惬意
    Factorization Machines 学习笔记(三)回归和分类
    代理---视图间数据的传递:标签显示输入的内容【多个视图中】
    cocos2d-x v3.2 FlappyBird 各个类对象详细代码分析(7)
    金典 SQL笔记(4)
    用GDB调试多进程程序
    C程序设计的抽象思维-算法分析-大多数元素
  • 原文地址:https://www.cnblogs.com/kogmaw/p/12575439.html
Copyright © 2011-2022 走看看