博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
网络编程之实现客户端与服务端聊天
阅读量:5366 次
发布时间:2019-06-15

本文共 1494 字,大约阅读时间需要 4 分钟。

客户端代码:

import socketsk = socket.socket()address = ('127.0.0.1',8008)sk.connect(address)    #连接服务端print('已连接')
以上代码实现与服务端的连接。连接以后下面开始交互,必须是一收一发
while True:    inp = input('>>>')    if inp == 'exit':   #如果输入exit,退出循环        break    elif inp == '':     #如果输入的内容为空,提醒用户,并让他重新输入        print('不能输入空白字符')        continue    sk.send(bytes(inp,'utf8'))     #发送信息    data = sk.recv(1024)         #接收信息    print(str(data,'utf8'))sk.close      #关闭客户端连接

 

服务端代码:

import socketsk = socket.socket()   #给socket创建对象address = ('127.0.0.1',8008)  #设置服务端的IP地址和端口号sk.bind(address)    #绑定地址sk.listen(3)    #设置客户端请求连接的排队数量(每次只能连接一个客户端)
注意:1.下面需要客户端连接,连接之前将在此阻塞           2.conn接收客户端对象,addr接收客户端IP地址和端口号           3.连接成功后,开始信息交互
1 while True: 2     print('waiting for connection..........') 3     conn, addr = sk.accept()  # 在此接受客户端连接 4     while True: 5         try: 6             data = str(conn.recv(1024),'utf8')      #接收客户端信息 7             if  data != '': 8                 print(data) 9             else:        #如果接收到空内容,等待用户输入并重新接收10                 continue11         except Exception as e:12             print(e)13             break14         while True:15             inp = input('>>>')16             if inp == '':17                 print('不能发送空白字符')18                 continue19             conn.send(bytes(inp,'utf8'))   #收发的内容必须是bytes类型20             break21 sk.close()
在此加一个异常处理:当客户端强制关闭连接时报出异常,并等待下一个客户端连接
Linux下无需加异常处理,因为它会将强制关闭连接当做收到空值处理
 

 

 

转载于:https://www.cnblogs.com/Finance-IT-gao/p/10584792.html

你可能感兴趣的文章
gulp自动化压缩合并、加版本号解决方案
查看>>
windows下面安装Python和pip教程
查看>>
Java 动态向 JTable 中添加数据
查看>>
平安科技移动开发二队技术周报(第九期)
查看>>
JS window.open()属性
查看>>
Oracle【二维表管理:约束】
查看>>
2017-2018-1 20155307 《信息安全系统设计基础》第5周学习总结
查看>>
微软职位内部推荐-Principal Dev Manager for Windows Phone Apps
查看>>
jquery改变元素属性值(转)
查看>>
Latex 公式颜色
查看>>
《思考,快与慢》笔记 - 我们都是自己的陌生人
查看>>
《数据库系统概念》12-文件的组织
查看>>
[HNOI2006] 公路修建问题
查看>>
C# 事务
查看>>
iOS8 将至,越狱工具市场遇冷?
查看>>
UITableView heightForHeaderInSection遇到的坑
查看>>
量子力学的经典教材
查看>>
CSRF攻击
查看>>
123qwe
查看>>
IP地址地区信息查询API接口调用方法
查看>>