python 网络通信初识

服务器端代码

import socket
# 哦嚯
server = socket.socket()    # 声明对象

server.bind(("自己的ip地址", 7777))    # 绑定ip和端口

server.listen(5)    # 开启监听

conn, addr = server.accept()    # conn:服务器 addr: 接受的客户端 

flag = 1
while flag:
    data = conn.recv(1024).decode("utf-8")    # 服务器接收数据,以'utf-8'解码所接收的信息
    print(f"{addr}:", data)    # 打印输出
    msg = input(">>>")    # 输入想要发送的信息
    data = conn.send(f"{msg}".encode("utf-8"))    # 发送信息,以'utf-8'编码
    if msg == "再见":    # 输入再见,停止发送接受
        flag = 0

conn.close()    # 关闭建立的连接    
server.close()    # 关闭服务器

客户端代码

import socket
# 哦嚯
client = socket.socket()

client.connect(("自己的ip地址", 7777))    # 与服务器建立连接
print("与服务器连接成功!")
flag = 1
while flag:
    msg = input(">>>")
    client.send((f"{msg}".encode("utf-8")))    # 发送信息
    data = client.recv(1024).decode("utf-8")    # 接收信息
    print(data)
    if data == "再见":    # 接收到再见,关闭连接
        flag = 0
        client.close()

运行结果截图:
服务器端:
在这里插入图片描述
客户端:
在这里插入图片描述

windows下可以使用ipconfig命令查找到自己的ip

需要注意的地方:

  • ip地址部分需要使用自己的地址
  • bind绑定时,传入的是元组参数
  • 端口号不要选用小于1024的端口,这些端口一般已经被系统占用
  • 发送要编码(encode),接受要解码(decode)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值