socket

Posted Aline

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了socket相关的知识,希望对你有一定的参考价值。

---恢复内容开始---

sockerserver

1.建立一个请求处理类,并继承这个类要继承BaseRequestHandler

2.重写父类的handle()   #这里处理与客户端的交互

3.实例化TCPServer,并且传递server ip 和 你创建的请求处理类 给这个TCPServer

4.   server.handle_request() #只处理一个请求

      server.serve_forever() #处理多个一个请求,永远执行

 

server:

import socketserver
class MyTCPHandler(socketserver.BaseRequestHandler):
    def handle(self):
        while True:
            try:
                self.data = self.request.recv(1024).strip()
                print("{} wrote".format(self.client_address[0]))
                print(self.data)
                self.request.send(self.data.upper())
            except ConnectionResetError as e:
                print("error",e)
                break
HOST,PORT = "localhost",9999
selver = socketserver.TCPServer((HOST,PORT),MyTCPHandler)
selver.serve_forever()

client:

import socket
client = socket.socket()
client.connect(("localhost",9999))
while True:
    data = input(">>:").strip()
    if len(data) == 0:
        continue
    client.send(data.encode())
    res = client.recv(1024).decode()
    print("res",res)

client.close()

多并发

selver = socketserver.THreadingTCPServer((HOST,PORT),MyTCPHandler)

以上是关于socket的主要内容,如果未能解决你的问题,请参考以下文章

Python干货socket中的listen()参数(数字)到底代表什么?

paper 78:sniff抓包程序片段

通过 c# 与 socket.io 服务器通信

微信小程序代码片段

VSCode自定义代码片段——CSS选择器

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js