python中套接字的问题(有示例)
时间:2010-11-08
来源:互联网
python版本:3.1
服务器端:
Python code
客户端
Python code
操作的步骤如下:
1:为服务器端和客户端分别开了两个IDLE
2:先运行服务器端,良好。
3:然后运行客户端,良好。
4:在客户端的IDLE中输入字符abcd,良好
5:服务器端已收到数据,服务器端IDLE显示的打印如下:
Python code
但是在执行下一句的时候报错:
socket.error: [Errno 10038] 在一个非套接字上尝试了一个操作。
我怀疑是
Python code
有问题,但不知道为什么会报错?
请大家帮忙看看是怎么回事?
服务器端:
Python code
#coding:utf-8 from socket import * from time import ctime HOST="" PORT=21567 BUFSIZ=1024 ADDR=(HOST,PORT) tcpSerSock=socket(AF_INET,SOCK_STREAM) tcpSerSock.bind(ADDR) tcpSerSock.listen(5) while True: print("Waiting for connection...") (tcpCliSock,addr)=tcpSerSock.accept() print("...connected from:",addr) while True: data=tcpCliSock.recv(BUFSIZ) if not data: print("Server:Empty") break print("server:",data) tcpCliSock.send(data) #运行到这里报错 tcpCliSock.close() tcpSerSock.close()
客户端
Python code
#coding:utf-8 from socket import * HOST="localhost" PORT=21567 BUFSIZ=1024 ADDR=(HOST,PORT) tcpCliSock=socket(AF_INET,SOCK_STREAM) tcpCliSock.connect(ADDR) while True: data=input('>') if not data: break data=data.encode("utf-8") print("encode:",data) data=bytes(data) print("bytes:",data) tcpCliSock.send(data) data=tcpCliSock.recv(BUFSIZ) if not data: print("Client:Empty") print("Client receive:",data) break tcpCliSock.close()
操作的步骤如下:
1:为服务器端和客户端分别开了两个IDLE
2:先运行服务器端,良好。
3:然后运行客户端,良好。
4:在客户端的IDLE中输入字符abcd,良好
5:服务器端已收到数据,服务器端IDLE显示的打印如下:
Python code
Waiting for connection... ...connected from: ('127.0.0.1', 15617) server: b'abcd'
但是在执行下一句的时候报错:
socket.error: [Errno 10038] 在一个非套接字上尝试了一个操作。
我怀疑是
Python code
tcpCliSock.send(data)
有问题,但不知道为什么会报错?
请大家帮忙看看是怎么回事?
作者: Dic4000 发布时间: 2010-11-08
服务器代码tcpCliSock.close()后面应该break跳出最内层while吧...
作者: angel_su 发布时间: 2010-11-08
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28