私の連絡先情報
郵便メール:
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
サーバー側に 2 つのソケット オブジェクトがあり、クライアント側に 1 つあります。
サーバーコード:
import socket
#创建Socket对象
sk=socket.socket()
#绑定ip与端口号-使用元组传参
sk.bind(("127.0.0.1",13000))
#监听有没有请求过来
sk.listen()
print("服务端已经启动...")
#等待传入连接,在连接成功之前保持阻塞状态
#如果连接成功,会返回一个新的套接字和客户端ip与端口号
#新的套接字:conn-新的socket对象
conn,addr=sk.accept()
# print("客户端:",sk.accept())
print("客户端的ip地址是:",addr)
#接受客户端发生的数据-一次性接受多少字节.decode将bytes转为str
data=conn.recv(1024)
print("客户端发生的数据:",data.decode("utf-8"))
server_input=input("请输入>>>")
#发送数据encode(将str转为bytes)
conn.sendall(server_input.encode("utf-8"))
conn.close()
sk.close()
クライアントコード
import socket
#创建socket对象
sk=socket.socket()
#发起连接
sk.connect(("127.0.0.1",13000))
#发送数据
client_input=input("请输入>>>")
sk.sendall(client_input.encode("utf-8"))
#接受数据-一次性接受多少字节
data=sk.recv(1024)
print("服务端响应数据:",data.decode("utf-8"))
sk.close()
クライアントが接続を開始すると、sk.accept() メソッドは 2 つの値を返します。
1 つは新しいソケット オブジェクト conn で、クライアントとの通信に使用されます。
もう 1 つはクライアントのアドレスで、クライアントのネットワーク上の場所を表します。