Python中网络编程中的客户端,服务器

1.模块socket
网络编程中的一个基本组件是socket(套接字)。
socket基本上是一个信息通道,两端各有一个程序。
套接字分为两类:服务器套接字和客户端套接字。
创建服务器套接字后,让它等待连接请求的到来。
客户端套接字只需连接,完成任务后断开连接。
套接字是模块socket中socket类的实例。
实例化套接字最多指定3参数:
地址族(默认为socket.AF_INET):
流套接字(socket.SOCK_STREAM,默认)/数据包套接字(socket.SOCK_DGRAM)
协议(默认0)
创建普通套接字无需提供参数。
服务器套接字先调用方法 bind,再调用方法 listen来监听方法bind指定的地址。
#地址是一个格式为(host,port)的元组。host是主机名,port是端口号。
方法 listen提供一个参数–待办任务清单的长度

服务器套接字开始监听后,就可接受(accept)客户端连接了。方法accept将阻断(等待) 直到客户端连接到来,返回一个(client, address)的元组,client是客户端套接字,address是地址。

为传输数据,套接字提供了2个方法:
send(发送):提供字符串
recv(接收):指定最多接收多少个字节的数据(1024是个不错的选择)

实例:
#服务器
import socket
s = socket.socket()

host = socket.gethostname()
port = 1234
s.bind((host,port))

s.listen()
while True:

c, addr = s.accept()
print('Got connection from', addr)
#注意下面这个字符串前加b转换成bytes
c.send(b'Thank you for connecting')
c.close()

#客户端
import socket

s = socket.socket()

host = socket.gethostname()
port = 1234

s.connect((host,port))
print(s.recv(1024))

2.模块urllib 和 urllib2

通过网络访问文件,可以使用URL(统一资源定位符)、
常见的应用是下载网页,提取信息。

1.打开远程文件
from urllib.request import urlopen
webpage = urlopen(‘http://www.python.org’)
webpage将包含一个类似于文件的对象。支持文件的方法:close,readline,readlines等。
2.获取远程文件
urlretrieve返回一个格式为(filename,headers)的元组,filename是本地文件的名称,headers是一些文件相关的信息,如果给下载的文件指定名字,传入第二个参数。
from urllib.request import urlretrieve
urlretrieve(‘http://www.python.org’,‘C:\python_webpage.html’)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值