Python之Socket

简介:

wKioL1gYmsjC74WpAAGrbGjhMio078.png-wh_50

原理:服务端一直处理监听的状态,当客户端发起一个请求,服务端监听到请求建立连接,在建立连接时,若当前客户端没有结束,处于阻塞状态,当前的会话处于不断的交互状态,只有当前客户端结束回话后,才进行下个回话请求,若此时有另外一个连接,不会分配当前的服务端正在使用连接分配给后来的客户端绘画

通俗说理解SOCKET过程:小磊子和10086

    一天小磊子打电话给10086,10086的小红接到小磊子的电话,这时候小磊子就开始发牢骚问,我这个月的电话费怎么那么多(此时就是SOCKET建立会话连接通信过程),小红听到小磊子的牢骚后,开始在后台查询小磊子这个月的电话记录情况,然后小红把查到的数据告诉小磊子(此时是客户端:请求数据-请求处理--回应数据),你这个月凌晨跟某某女生.....此时浩哥也打电话给10086,要找小红,此时小红在接客状态,在给小磊子干活,无法接通(客户端阻塞连接),浩哥不开心,因为他想查下这个月他老婆最近夜里跟谁在打电话....就随便找了小丽为浩哥服务(此时是SOCKET的并发过程)......当小磊子挂掉电话后,此时与小红断开连接(结束连接),小红才能继续接客....继续等待下一个人到来....

Socket服务端编程主要包括下面几步:

1、打开socket

2、绑定到一个地址和端口

3、侦听进来的连接

4、接受连接

5、读取数据

客户端过程:

1、打开一个socket

2、连接一个地址和端口

3、读写数据

####网络通信,有TCP/IP还有其他...

socket type:

socket.AF_UNIX:只能够用于单一的unix系统进程间通信

socket.AF_INET:服务器之间网络通信

socket.AF_NET6IPV6

###简单例子

SERVER:

import socket

host=''

port=1122

s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)

s.bind((host,port))

s.listen(1)

conn,addr=s.accept()

print "connected by",addr

while True:

    data=conn.recv(1024)

    if not data:break

    conn.sendall(data)

conn.close()

###CLIENT:

import socket

host='127.0.0.1'

port=1122

s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)

s.connect((host,port))

s.sendall('hello,world')

data=s.recv(1024)

s.close()

print 'received',repr(data)



本文转自 DBAspace 51CTO博客,原文链接:http://blog.51cto.com/dbaspace/1868268

目录
打赏
0
0
0
0
346
分享
相关文章
|
10月前
|
Python Socket编程:不只是基础,更有进阶秘籍,让你的网络应用飞起来!
在数字时代,网络应用成为连接世界的桥梁。Python凭借简洁的语法和丰富的库支持,成为开发高效网络应用的首选。本文通过实时聊天室案例,介绍Python Socket编程的基础与进阶技巧。基础篇涵盖服务器和客户端的建立与数据交换;进阶篇则探讨多线程与异步IO优化方案,助力提升应用性能。通过本案例,你将掌握Socket编程的核心技能,推动网络应用飞得更高、更远。
156 1
|
9月前
|
Socket学习笔记(二):python通过socket实现客户端到服务器端的图片传输
使用Python的socket库实现客户端到服务器端的图片传输,包括客户端和服务器端的代码实现,以及传输结果的展示。
318 3
Socket学习笔记(二):python通过socket实现客户端到服务器端的图片传输
Socket学习笔记(一):python通过socket实现客户端到服务器端的文件传输
本文介绍了如何使用Python的socket模块实现客户端到服务器端的文件传输,包括客户端发送文件信息和内容,服务器端接收并保存文件的完整过程。
433 1
Socket学习笔记(一):python通过socket实现客户端到服务器端的文件传输
Python网络编程:从Socket到Web应用
在信息时代,网络编程是软件开发的重要组成部分。Python作为多用途编程语言,提供了从Socket编程到Web应用开发的强大支持。本文将从基础的Socket编程入手,逐步深入到复杂的Web应用开发,涵盖Flask、Django等框架的应用,以及异步Web编程和微服务架构。通过本文,读者将全面了解Python在网络编程领域的应用。
128 1
Python中的Socket魔法:如何利用socket模块构建强大的网络通信
本文介绍了Python的`socket`模块,讲解了其基本概念、语法和使用方法。通过简单的TCP服务器和客户端示例,展示了如何创建、绑定、监听、接受连接及发送/接收数据。进一步探讨了多用户聊天室的实现,并介绍了非阻塞IO和多路复用技术以提高并发处理能力。最后,讨论了`socket`模块在现代网络编程中的应用及其与其他通信方式的关系。
762 3
Python Socket编程大揭秘:从菜鸟到黑客的进阶之路,你准备好了吗?
【10月更文挑战第4天】在编程领域,Python Socket编程犹如一把开启网络世界的钥匙,带领开发者从简单数据传输迈向复杂应用构建。本文将引导你从零开始,逐步掌握Socket编程的核心技巧,包括基本概念、TCP服务器与客户端的搭建、并发处理及异常管理、SSL/TLS加密通信,直至深入了解网络协议与安全漏洞。通过实战演练与理论学习,助你成为驾驭网络世界的高手。
92 1
聊一聊 Python 的 socket,以及 select、poll、epoll 又是怎么一回事?
聊一聊 Python 的 socket,以及 select、poll、epoll 又是怎么一回事?
521 2
告别网络编程迷雾!Python Socket编程基础与实战,让你秒变网络达人!
在网络编程的世界里,Socket编程是连接数据与服务的关键桥梁。对于初学者,这往往是最棘手的部分。本文将用Python带你轻松入门Socket编程,从创建TCP服务器与客户端的基础搭建,到处理并发连接的实战技巧,逐步揭开网络编程的神秘面纱。通过具体的代码示例,我们将掌握Socket的基本概念与操作,让你成为网络编程的高手。无论是简单的数据传输还是复杂的并发处理,Python都能助你一臂之力。希望这篇文章成为你网络编程旅程的良好开端。
124 3
网络世界的建筑师:Python Socket编程基础与进阶,构建你的网络帝国!
在数字宇宙中,网络如同复杂脉络连接每个角落,Python Socket编程则是开启这一世界的钥匙。本文将引导你从基础概念入手,逐步掌握Socket编程,并通过实战示例构建TCP/UDP服务器与客户端。你将学会使用Python的socket模块进行网络通信,了解TCP与UDP的区别,并运用多线程与异步IO提升服务器性能。跟随本文指引,成为网络世界的建筑师,构建自己的网络帝国。
70 2

热门文章

最新文章

推荐镜像

更多
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问