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行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!