python socket编程

python socket编程

 

server 端:

# coding: utf-8

"""
搭建简单服务器
"""

import socket

HOST = '127.0.0.1'      # 获取本地主机名,cmd下用ipconfig命令查看
PORT = 12345            # 设置端口号
ADDR = (HOST, PORT)     # 放在一起就是套接字了

# 1.监听本机的IP和端口
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)  # 创建socket对象
client.bind(ADDR)          # 绑定端口
client.listen(5)           # 等待客户端连接,参数为TCP连接队列的大小,就是连接数;支持排队等待5人,还是要一个一个来;
print('sever is wait listening...')

while True:
    # 2.等待,等待有人来连接(阻塞)
    client_connection, client_address = client.accept()    # 建立客户端连接,等待客户端来连接(阻塞:没有连接就一直在这里等)
    print(client_address)                               # 打印客户端发来的嵌套字,其实就是ip、port,如:(‘192.268.20.23’,52378)

    # 3.等待,等待连接者发送消息(阻塞)
    data = client_connection.recv(1024)                 # 等待接收客户端发来数据
    print(data)
    print(data.decode('utf-8'))

    # 4.给连接者回复消息
    client_connection.send(str.encode("connect OK"))  # 向客户端发送信息,需要byte类型的参数,需要做一下转换

    # 5.关闭连接
    client_connection.close()                          # 关闭连接

# 6.停止服务端程序
client.close()

 

 

client端:

"""
简易客户端
"""

import socket

HOST = '127.0.0.1'     #获取本地主机名
PORT = 12345                #设置端口号
ADDR = (HOST,PORT)

# 1.向指定IP发送链接请求
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client.connect(ADDR)           #请求与服务器建立连接

# 2.链接成功后,发送消息给服务端
client.send(str.encode("client connect ok ..."))   #向服务器发送信息

# 3.等待,消息的回复(阻塞)
data = client.recv(1024)       #接收数据
print(data)                 #打印出接受到的数据

# 4.关闭连接
client.close()

 例子:

 

智障客服

 

posted @ 2023-09-07 23:50  小小仓鼠  阅读(15)  评论(0编辑  收藏  举报