Python 简单soket例子

python

 
简单的soket例子

Python 2.0 客户端服务端传输

  1.可发字符串,可发字节 bys类型

 

Python 3.0 客户端服务端传输

  1.只能发bys,比特流的类型。

  2.bys类型只能接收 ASCLL码里的数据类型。

  3.如果想传入中文:

 

简单的soket链接例子

需求:服务端帮客户端处理字符串信息为大写

 

客户端

#客户端

import socket

#声明协议类型,同事生成socket连接对象

client = socket.socket()

#链接地址和端口,元组(本地,端口)

client.connect(('localhost',6969))

#发送数据 b将字符串转为bys类型

client.send(b"Hello World!")

#接收服务器端的返回,需要声明收多少,默认1024字节

data = client.recv(1024)

#打印data是recv的data

print("recv:",data)

#关闭接口

client.close()
#结果

#recv: b'HELLO WORLD!'

服务端

#服务端

import socket

#声明类型,生成socket链接对象

server = socket.socket()

#监听接收端口元组(本地,端口),绑定要监听的端口

server.bind(('localhost',6969))

#监听

server.listen()

print("我要开始等待客户端了")

#1.等待客户端 #会返回链接的标记位conn,与连接的地址

#2.客户端同过conn,addr进行通话

#3.conn就是客户端连接过来而在服务器端为其生成的一个连接实例

conn,addr = server.accept()

#查看标记位与IP地址

print(conn,addr)

print("客户端 他 进来了!")

#接收数据

data = conn.recv(1024)

print("recv:",data)

#返回一个值,处理变为大写

conn.send(data.upper())

#关闭链接

server.close()

#结果

#我要开始等待客户端了

# <socket.socket fd=336, family=AddressFamily.AF_INET,

# type=SocketKind.SOCK_STREAM, proto=0,

# laddr=('127.0.0.1', 6969),

# raddr=('127.0.0.1', 55652)> ('127.0.0.1', 55652)

#客户端 他 进来了!

#recv: b'Hello World!'

注:客户端操作

(1)传送时“ .encode("utf-8") ”转成ASCLL码(发不了空)。

(2) 返回时" .decode() "UTF-8转成 Unicode。

 

 

以上是 Python 简单soket例子 的全部内容, 来源链接: utcz.com/z/388617.html

回到顶部