Python——网络编程

时间戳服务端实例:

#!/usr/bin/python3
# -*-coding:utf-8 -*-
import socket
import time
import sys

COD = 'utf-8'
HOST = socket.gethostname()  # 主机ip
PORT = 9999  # 软件端口号
BUFSIZ = 1024
ADDR = (HOST, PORT)
SIZE = 5
tcpS = socket.socket(socket.AF_INET, socket.SOCK_STREAM)  # 创建socket对象
tcpS.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)  # 加入socket配置,重用ip和端口
tcpS.bind(ADDR)  # 绑定ip端口号
tcpS.listen(SIZE)  # 设置最大链接数
while True:
    print("服务器启动,监听客户端链接")
    conn, addr = tcpS.accept()
    print("链接的客户端", addr)
    while True:
        try:
            data = conn.recv(BUFSIZ)  # 读取已链接客户的发送的消息
        except Exception:
            print("断开的客户端", addr)
            break
        print("客户端发送的内容:", data.decode(COD))
        if not data:
            break
        msg = time.strftime("%Y-%m-%d %X")  # 获取结构化事件戳
        msg1 = '[%s]:%s' % (msg, data.decode(COD))
        conn.send(msg1.encode(COD))  # 发送消息给已链接客户端
    conn.close()  # 关闭客户端链接
tcpS.closel()

时间戳客户端实例:

#!/usr/bin/python3
# -*-coding:utf-8 -*-
import socket
from time import ctime

HOST = socket.gethostname()  # 服务端ip
PORT = 9999  # 服务端端口号
BUFSIZ = 1024
ADDR = (HOST, PORT)
tcpCliSock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)  # 创建socket对象
tcpCliSock.connect(ADDR)  # 连接服务器
while True:
    data = input('>>').strip()  # 例如在读文件里面的文本时,每一行默认后面有\n或者有\r,所以strip用于去除首尾空格或者回车符。
    if not data:
        break
    tcpCliSock.send(data.encode('utf-8'))  # 发送消息
    data = tcpCliSock.recv(BUFSIZ)  # 读取消息
    if not data:
        break
    print(data.decode('utf-8'))
tcpCliSock.close()  # 关闭客户端
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值