用Python实现服务器端与客户端一对一沟通功能
好像也没什么可写。
我刚刚踏入程序员的门槛,还没站稳,怕是会有被迫退出的可能。但,我会努力的!
昨天老师让我们在简书上写点知识梳理,由于一些世俗纷扰,所以没时间写,今天有空写了,但真不知道写什么好。IT界那么多大佬在,我写的一点知识算得了什么?真心不想献丑。
不过,不出道的程序员不是好的程序员,今天,就是我的出道之日!鼓掌鼓掌,撒花撒花!!
呃。。。代码怎么写来着?这里好像没有写代码的地方。
喂!有人吗?谁来告诉我代码在哪写啊?直接写在这里吗?
刚刚问了下度娘,试一下
'''
print(3)
'''
好像不怎么样啊。
无所谓了。上传一段服务器端与客户端相互沟通的代码吧。
'''
import socket
import time
def shijian():
t = time.time()
x = time.localtime(t)# 将时间戳转换为 当地 时间元组
ti=list(x)
return ('%s/%s/%s %s:%s:%s'%(ti[0],ti[1],ti[2],ti[3],ti[4],ti[5]))
# 定义服务器信息
print("初始化服务器信息...")
HOST ="192.168.11.200"
PORT =8000
ADDRESS = (HOST, PORT)
BUFFER =1024
# 创建一个 TCP 服务端程序
print("创建 TCP 服务端对象")
tcp_server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定主机信息
print("绑定服务器主机")
tcp_server.bind(ADDRESS)
# 启动监听
print("启动监听")
tcp_server.listen(5)
# 轮询等待链接
while True:
# 接收来自客户端的连接
print("等待连接")
client, addr = tcp_server.accept()
print("客户端", addr,"已经接入服务器")
# 接收消息
while True:
# 发送给客户端的数据
msg =input("enter msg(%s):"%(shijian()))
client.send(msg.encode("utf-8"))
# 接收客户端发送的数据
info = client.recv(BUFFER)
# 打印展示数据
print("[", addr,"]client(%s):"%(shijian()), info.decode("utf-8"))
if info.decode("utf-8").lower() =="bye":
print("客户端退出..bye")
# 关闭和客户端保持连接的套接字
client.close()
break
'''
'''
import socket
import time
#获取时间函数
def shijian():
t = time.time()
x = time.localtime(t)# 将时间戳转换为 当地 时间元组
ti=list(x)
return ('%s/%s/%s %s:%s:%s'%(ti[0],ti[1],ti[2],ti[3],ti[4],ti[5]))
# 定义要连接的服务器信息
print("定位服务器信息...")
HOST ="192.168.11.200"
PORT =8000
ADDRESS = (HOST, PORT)
BUFFER =1024
# 创建 TCP 客户端套接字对象
tcp_client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 连接指定服务器
tcp_client.connect(ADDRESS)
# 和服务器进行数据交互
while True:
# 接收服务器的信息
info = tcp_client.recv(BUFFER)
print("server(%s):"%(shijian()), info.decode("utf-8"))
# 给服务器发送消息
msg =input("enter message(%s):"%(shijian()))
tcp_client.send(msg.encode("utf-8"))
if msg.lower() =='bye':
tcp_client.close()
print("客户端退出...")
break
'''
最讨厌这种缩进问题了,大家都看得懂,我也不调了。加了个时间模块,是为了模拟QQ。
今天就分享这些了,我也不讲解我的代码了,大家就看注释吧。请原谅我的懒惰,谢谢。
好像懒惰是程序员最珍贵的品质啊。