socket编程
Posted 开飞机的贝塔
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了socket编程相关的知识,希望对你有一定的参考价值。
客户端:
#-*- coding:utf-8 -*- #客户端程序 import socket client = socket.socket() #1、创建一个客户端对象 client.connect((‘localhost‘,22332)) #2、连接到服务器 client.send(b‘hello‘) #3、发送数据 data = client.recv(1024) #4、接收数据 print(‘接受的数据:‘,data) client.close() #5、关闭客户端
服务器:
#-*- coding:utf-8 -*- #服务器程序 import socket server = socket.socket() #1、创建服务器套接字对象 server.bind((‘localhost‘,22332)) #2、绑定ip和端口 server.listen() #3、让套接字对象处于监听状态 print("正在监听...") conn,addr = server.accept() #接收客户端报文 print("报文来了!") print("conn:",conn,"addr:",addr) data = conn.recv(1024) #接收报文中的数据 print("客户端的数据:",data) conn.send(data.upper()) #发送响应报文 server.close() #关闭服务器
执行结果:
客户端:
接受的数据: b‘HELLO‘
服务器:
正在监听... 报文来了! conn: <socket.socket fd=356, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=(‘127.0.0.1‘, 22332), raddr=(‘127.0.0.1‘, 63173)> addr: (‘127.0.0.1‘, 63173) 客户端的数据: b‘hello‘ [Finished in 3.4s]
后记:
在sublime3中运行程序时报错
[Decode error - output not utf-8]
解决方式如下:
在插件目录下的User目录下新建一个文件python3.6.sublime-build,内容如下
{ "cmd": ["python", "-u", "$file"], "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)", "selector": "source.python", "encoding":"cp936" }
以上是关于socket编程的主要内容,如果未能解决你的问题,请参考以下文章