python简单的socket编程,实现服务器和客户端进行聊天

<--这是一个简单的socket编程通信,使用了tcp协议。后续继续学习会进一步完善的,谢谢!!-->

服务器端源码

#导入网络编程模块
import socket
#实例化一个网络编程对象
s=socket.socket()    #类似买手机
#绑定ip地址,如果绑定本机ip的话,其他人都可访问,我们在测试过程中尽量使用127.0.0.1,表示本机地址,但是其他人访问不了
s.bind(('127.0.0.1',9000))  #类似绑定卡号,9000为应用接口
#进行监听
s.listen()#类似开机
#等待连接
print('等待客户端连接中......')
#接受信息连接和地址的对象
conn,addr=s.accept()  #类似接电话
msg1=conn.send('服务器开放时间为:早上八点到晚上十二点。请各位客户悉知!谢谢!!'.encode('utf-8'))
msg=conn.recv(1024)
print(msg.decode('utf-8'))
#

#
while True:
    msg=conn.recv(1024)#接受1024个字节信息
    print('客户端:',msg.decode('utf-8'))
    inp=input('服务器:')
    if inp=='exit':
        conn.send('服务器关闭了,请下次再来吧'.encode('utf-8'))
        break
    conn.send(inp.encode('utf-8'))#发送消息
#关闭一个客户端的连接
print('已经关闭一个客户端的连接!')
conn.close()#挂电话
print('关闭服务器!')
s.close()#关机

客户端源码

import socket
s=socket.socket()
s.connect(('127.0.0.1',9000))
s.send('客户端1已经连接上了'.encode('utf-8'))
msg1=s.recv(1024)
print(msg1.decode('utf-8'))
while True:
    inp=input('客户端:')
    if inp=='exit':
        s.send('客户端1断开连接了'.encode('utf-8'))
        break
    else:
        s.send(inp.encode('utf-8'))#为什么发送不出去
        msg=s.recv(1024)#接受1024个字节
        print('服务器:',msg.decode('utf-8'))
#s.send('你好,服务器')会出现错误TypeError: a bytes-like object is required, not 'str',因为需要字节传输
#那你是用utf-8进行编码,所以服务器端需要用utf-8进行解码
print('客户端1关闭会话!')
s.close()

实现过程

(1)首先启动服务器端程序

(2)然后启动客户端程序

(3)最后就可以进行通信了

(4)程序中设置了客户端或者服务器输入exit关键字就自动退出连接

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值