zoukankan      html  css  js  c++  java
  • Python之路——网络编程

    socket

    TCP

    服务端

     1 import socket
     2 sk = socket.socket()
     3 sk.bind(('127.0.0.1',8080)) # 绑定ip和端口号
     4 sk.listen() # Enable a server to accept connections.
     5 conn,addr = sk.accept() # Wait for an incoming connection.  Return a new socket
     6                         # representing the connection, and the address of the client.
     7 while 1:
     8     content = conn.recv(1024)   # 接收
     9     print(content.decode('utf-8'))
    10     conn.send(content+b'--liuyankui')   # 发送
    11 conn.close()
    12 sk.close()

    客户端

    1 import socket
    2 sk = socket.socket()
    3 sk.connect(('127.0.0.1',8080))  #连接
    4 while 1:
    5     content = input('>>>').encode('utf-8')
    6     sk.send(content)
    7     ret = sk.recv(1024)
    8     print(ret.decode('utf-8'))
    9 sk.close()

    UDP

    服务端

    1 import socket
    2 sk = socket.socket(type=socket.SOCK_DGRAM)
    3 sk.bind(('127.0.0.1',8080))
    4 msg ,addr = sk.recvfrom(1024)
    5 print(msg.decode('utf-8'))
    6 sk.sendto(b'bye',addr)
    7 sk.close()

    用户端

    1 import socket
    2 sk = socket.socket(type=socket.SOCK_DGRAM)
    3 ip_port = ('127.0.0.1',8080)
    4 sk.sendto(b'hello',ip_port)
    5 msg,addr = sk.recvfrom(1024)
    6 print(msg.decode('utf-8'))
    7 sk.close()

     socketserver

    server端

     1 import socketserver
     2 
     3 class MyServer(socketserver.BaseRequestHandler):
     4     def handle(self):
     5         while True:
     6             msg = self.request.recv(1024).decode('utf-8')
     7             if msg=='q':return
     8             print(msg)
     9             info = input('(sent to %s)>>>' %(msg[:2]))
    10             self.request.send(info.encode('utf-8'))
    11 if __name__ == '__main__':
    12     server = socketserver.ThreadingTCPServer(('127.0.0.1',8080),MyServer)
    13     server.serve_forever()

    client端

     1 import socket
     2 sk = socket.socket()
     3 sk.connect(('127.0.0.1',8080))
     4 while 1:
     5     msg = input('>>>')
     6     if msg == 'q':
     7         sk.send('q'.encode('utf-8'))
     8         break
     9     sk.send(('美团外卖:'+msg).encode('utf-8'))
    10     print(sk.recv(1024).decode('utf-8'))
    11 sk.close()
  • 相关阅读:
    xml
    反射
    类加载器
    tcp通信
    UDP通信
    UDP与TCP协议
    网络通信协议
    符合汽车安全和质量标准的CYPRESS FRAM
    SRAM是什么存储器
    网络通信与便携式应用驱动SRAM技术发展
  • 原文地址:https://www.cnblogs.com/liuyankui163/p/8351682.html
Copyright © 2011-2022 走看看