• python 网络编程篇


       基础模拟通话网络程序:

    1 #客户端
    2 import socket
    3 
    4 client = socket.socket()
    5 client.connect(('localhost',6969))
    6 client.send(b"hello ni hao")   #python3 中只能传输字节码
    7 data = client.recv(1024)   #1024指定接受的数据大小   将接受的数据赋值给data
    8 print("recv:",data)  
    9 client.close()
     1 import  socket 
     2 
     3 #服务端
     4 server =  socket.socket()
     5 server.bind(('localhost',6969))  #绑定要监听端口
     6 server.listen() #监听
     7 print("我要开始等电话了")
     8 conn,addr =  server.accept() #等电话打进来   accept 会返回两个值  conn,addr   conn为连接产生的链接实例  客户端连过来而在服务器端为其生成的一个实例  addr对方链接的地址
     9 print("电话来了")
    10 data = conn.recv(1024)   #接受1024字节,将接收的数据赋值给data
    11 print("recv:",data)
    12 conn.send(data.upper())  #将接收的数据进行转大写操作后返回给客户端  
    13 server.close()

    简易c-s 聊天版本:

     1 #客户端
     2 import socket,time
     3 
     4 client = socket.socket()
     5 client.connect(('10.139.165.32',9502))
     6 print("来聊天啦")
     7 
     8 while True:
     9     message = input("你说:")
    10     print(time.ctime())
    11     if len(message) == 0:               #当输入为空时候,让用户重新输入
    12         continue  
    13     client.send(message.encode("utf-8"))   #python3 中只能传输字节码   ,如果是传输的中文则必须先encode utf-8
    14     data = client.recv(1024)   #1024指定接受的数据大小   将接受的数据赋值给data
    15     print("服务器回应:",data.decode())
    16     print(time.ctime())
    17 client.close()
     1 import  socket,time
     2 
     3 #服务端
     4 server =  socket.socket()
     5 server.bind(('10.139.165.32',9502))  #绑定要监听端口
     6 
     7 server.listen(5) #监听               此处的5表示默认最大挂起链接  (需要在异步时候才能有效果)
     8 print("我要开始等电话了")
     9 print(time.ctime())
    10 while True:
    11 
    12     conn,addr =  server.accept() #等电话打进来   accept 会返回两个值  conn,addr   conn为连接产生的链接实例  客户端连过来而在服务器端为其生成的一个实例  addr对方链接的地址
    13     print("电话来了")
    14     print(time.ctime())
    15     while True:
    16         data = conn.recv(1024)   #接受1024字节,将接收的数据赋值给data
    17         if not data:
    18             print("客户端链接关闭。。。。")
    19             print(time.ctime())
    20             break
    21             
    22         print("client sey :",data.decode())
    23         print(time.ctime())
    24         message = input("你回复:")
    25         print(time.ctime())
    26         conn.send(message.encode("utf-8"))  
    27             
    28 server.close()
  • 相关阅读:
    hdu 1863
    数据结构与算法分析–Minimum Spanning Tree(最小生成树)
    hdu 1856 More is better
    hdu 1272 小希的迷宫
    数据结构与算法分析 – Disjoint Set(并查集)
    数字逻辑电路课程设计报告
    高校成绩管理数据库系统的设计与实现
    PL/0编译器(java version) – SymbolTable.java
    [jquery]添加行内容后根据下拉菜单选择内容对比之前已有选项,若有重置再提示
    bootstrap-datetimepicker 日期控件的开始日期
  • 原文地址:https://www.cnblogs.com/heaven-xi/p/9536057.html
Copyright © 2020-2023  润新知