首页 / PYTHON / python socket编程
python socket编程
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python socket编程,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2429字,纯文字阅读大概需要4分钟。
内容图文
![python socket编程](/upload/InfoBanner/zyjiaocheng/1289/2f6d33ab5488447abb09ca115388748c.jpg)
一、什么是socket?
Python 官方关于 Socket 的函数请看 http://docs.python.org/library/socket.html
socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求。
socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,对于文件用打开、读写、关闭模式来操作。socket就是该模式的一个实现,socket即是一种特殊的文件,一些socket函数就是对其进行的操作(读/写IO、打开、关闭)
file模块是针对某个指定文件进行打开、读写、关闭
socket模块是针对 服务器端 和 客户端Socket 进行打开、读写、关闭
二、举个实例
1 # !/usr/bin/env python 2 # _*_ coding: UTF-8 _*_ 3 # Author:taoke 4 import socket 5 import sys 6 try : 7 # 创建socket 8 s = socket.socket(socket.AF_INET,socket.SOCK_STREAM) 9except socket.error: 10#创建失败,产生socket.error异常11print("socket creat error:"+str(socket.error)) 12 sys.exit() 1314print("creat socket") 15 host = ‘www.oschina.net‘1617try: 18#获取主机IP19 remote_ip = socket.gethostbyname(host) 20except socket.gaierror: 21print("hostname could not be resolved,exiting") 22 sys.exit() 23print("IP address of "+host+" is "+remote_ip) 24 port = 80 25#连接26s.connect((remote_ip,port)) 27print(‘Socket Connected to ‘ + host + ‘ on ip ‘ + remote_ip) 28#Send some data to remote server29 message = "GET / HTTP/1.1\r\nHost: oschina.net\r\n\r\n"3031try : 32#Set the whole string33 s.sendall(message.encode()) 34except socket.error: 35#Send failed36print(‘Send failed‘) 37 sys.exit() 3839print(‘Message send successfully‘) 4041#Now receive data42 reply = s.recv(4096) 4344print(reply.decode()) 45#关闭socket46 s.close()
运行结果如下:
creat socket IP address of www.oschina.net is 139.199.91.153 Socket Connected to www.oschina.net on ip 139.199.91.153 Message send successfully HTTP/1.1 301 Moved Permanently X-Proxy: dayu-proxy Date: Wed, 20 Sep 2017 13:28:07 GMT Content-Type: text/html Content-Length: 278 X-DAYU-UUID: D7PRC9C6CFCF6932495F893F61E66ABDB60C Connection: keep-alive Set-Cookie: __DAYU_PP=733na7yMm7VYJ7VbeQz3ffffffffef192cb9ef6a; Expires=Wed, 09 Jun 2021 23:59:59 GMT; Path=/ Location: http://www.oschina.net/ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html> <head><title>301 Moved Permanently</title></head> <body bgcolor="white"> <h1>301 Moved Permanently</h1> <p>The requested resource has been assigned a new permanent URI.</p> <hr/>Powered by Tengine</body> </html>
TCP客户端:
1 创建套接字,连接远端地址
# socket.socket(socket.AF_INET,socket.SOCK_STREAM) , s.connect()
2 连接后发送数据和接收数据
# s.sendall(), s.recv()
3 传输完毕后,关闭套接字
#s.close()
原文:http://www.cnblogs.com/taoke2016/p/7565260.html
内容总结
以上是互联网集市为您收集整理的python socket编程全部内容,希望文章能够帮你解决python socket编程所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。