嘀嘀嘀,你有新的消息

又是掉头发的一天
python通过tcp协议实现客户端以及服务端的通讯真的是太方便了!!!
前几天写的斗地主小游戏终于又有了下一步的进展思路了,之前只能在自己的终端运行,现在了解了TCP协议后,感觉可以在三台同一局域网下运行了斗地主发牌小程序
接下来到了重点了:
TCP通讯的python实现,让服务器和客户端能够聊聊天,关键就在于socket中的bind和connect选择,如果你是服务器,就用bind,客户端就是另一个了,然后呢悄悄选个没人用的端口,把他们连起来。然后就可以偷偷的聊天了。接下来还是最简单的方法:放代码(一个不断学习的机器人随机回复你的消息):

#服务器:
import socket
import random

answer=['嗯','知道了','好呀','行','可以','好的']
server_socket=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
server_socket.bind(("localhost",22222))
server_socket.listen(128)
client_name, client_port = server_socket.accept()
while True:
    data = client_name.recv(1024)
    print('客户',data.decode('utf-8'))
    answer.append(data.decode('utf-8'))
    answer_str = answer[random.randint(0, len(answer) - 1)]
    client_name.send(answer_str.encode('utf-8'))
    with open('服务记录.txt','a',encoding='utf-8')as f:
        f.write('客户'+data.decode('utf-8')+'\n'+'机器人'+answer_str)
    if data.decode('utf-8')=='bye':
        break
client_name.close()
server_socket.close()


#————————————————————————————————————————
#客户端:
import socket

client_socket=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
client_socket.connect(('localhost',22222))
while True:
    say=input('我:')
    client_socket.send(say.encode('utf-8'))
    data=client_socket.recv(1024)
    print('服务器',data.decode('utf-8'))
    if say=='bye':
        break
client_socket.close()

依旧没有解释,哈哈。
今天结束啦!

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值