2024年python学习笔记6-socket(1)

s.close();

reader.close();

} catch (UnknownHostException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

public static void main(String[] args) {

new Client().go();

}

}

一个服务器端的socket程序:

import java.io.BufferedWriter;

import java.io.IOException;

import java.io.OutputStreamWriter;

import java.net.ServerSocket;

import java.net.Socket;

public class Serverce {

public void go(){

try {

ServerSocket serversock = new ServerSocket(1234);

Socket sock = serversock.accept();

BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(sock.getOutputStream()));

writer.write(“hellow client”);

writer.close();

sock.close();

serversock.close();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

public static void main(String[] args) {

new Serverce().go();

}

}

python中的网络编程:

一个客户端socket程序:

import socket

s = socket.socket()

host = socket.gethostname()

port = 1234

s.connect((‘localhost’,port))

print(s.recv(1024))

一个服务器端socket程序;

import socket

s = socket.socket()

host = socket.gethostname()

port = 1234

s.bind((‘localhost’,port))

s.listen(5)

while True:

c,addr= s.accept()

print(‘获得一个连接’,addr)

c.send(‘你好客户端’.encode())

c.close()

需要注意的是,send和recv()接收的是字符串格式的字符,上面服务器端程序如果使用c.send(‘你好客户端’)会产生一个错误

Traceback (most recent call last):

File “F:/PythonDemo/服务器程序.py”, line 13, in

c.send(‘你好客户端’)

urllib

urlopen()函数可以像打开本地文件一样打开网络文件(urlopen函数在python3以后的版本中包含在urllib.request模块中)

urlretrieve()函数可以下载文件并在本地文件中储存一个文件的副本,函数返回一个元组(filename,header)filename是本地文件

名字,header包含一些远程文件信息,可以用第二个参数指定文件名

>>> urllib.request.urlretrieve(‘http://www.bilibili.com’,r’f:\\bilibili.html’)

(‘f:\\\\bilibili.html’, <http.client.HTTPMessage object at 0x0159D330>)

socketserver:

一个基于socketserver的小型服务器

from socketserver import TCPServer,StreamRequestHandler

class Handler(StreamRequestHandler):

def handle(self):

addr = self.request.getpeername()

print(‘获得连接’,addr)

self.wfile.write(‘hellow client’.encode())

server = TCPServer((‘’,1234),Handler)

server.serve_forever()

一个使用了线程处理器的服务器:

from socketserver import TCPServer,StreamRequestHandler,ThreadingMixIn

class Server(ThreadingMixIn,TCPServer):pass

class Handler(StreamRequestHandler):
def handle(self):
addr = self.request.getpeername()
print(‘获得连接’,addr)
self.wfile.write(‘hellow client’.encode())
server = TCPServer((‘’,1234),Handler)
server.serve_forever()

最后

Python崛起并且风靡,因为优点多、应用领域广、被大牛们认可。学习 Python 门槛很低,但它的晋级路线很多,通过它你能进入机器学习、数据挖掘、大数据,CS等更加高级的领域。Python可以做网络应用,可以做科学计算,数据分析,可以做网络爬虫,可以做机器学习、自然语言处理、可以写游戏、可以做桌面应用…Python可以做的很多,你需要学好基础,再选择明确的方向。这里给大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

👉Python所有方向的学习路线👈

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

👉Python必备开发工具👈

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

👉Python全套学习视频👈

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

👉实战案例👈

学python就与学数学一样,是不能只看书不做题的,直接看步骤和答案会让人误以为自己全都掌握了,但是碰到生题的时候还是会一筹莫展。

因此在学习python的过程中一定要记得多动手写代码,教程只需要看一两遍即可。

👉大厂面试真题👈

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

需要这份系统化学习资料的朋友,可以戳这里无偿获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值