- 浏览: 2663701 次
- 来自: 杭州
文章分类
- 全部博客 (1188)
- webwork (4)
- 网摘 (18)
- java (103)
- hibernate (1)
- Linux (85)
- 职业发展 (1)
- activeMQ (2)
- netty (14)
- svn (1)
- webx3 (12)
- mysql (81)
- css (1)
- HTML (6)
- apache (3)
- 测试 (2)
- javascript (1)
- 储存 (1)
- jvm (5)
- code (13)
- 多线程 (12)
- Spring (18)
- webxs (2)
- python (119)
- duitang (0)
- mongo (3)
- nosql (4)
- tomcat (4)
- memcached (20)
- 算法 (28)
- django (28)
- shell (1)
- 工作总结 (5)
- solr (42)
- beansdb (6)
- nginx (3)
- 性能 (30)
- 数据推荐 (1)
- maven (8)
- tonado (1)
- uwsgi (5)
- hessian (4)
- ibatis (3)
- Security (2)
- HTPP (1)
- gevent (6)
- 读书笔记 (1)
- Maxent (2)
- mogo (0)
- thread (3)
- 架构 (5)
- NIO (5)
- 正则 (1)
- lucene (5)
- feed (4)
- redis (17)
- TCP (6)
- test (0)
- python,code (1)
- PIL (3)
- guava (2)
- jython (4)
- httpclient (2)
- cache (3)
- signal (1)
- dubbo (7)
- HTTP (4)
- json (3)
- java socket (1)
- io (2)
- socket (22)
- hash (2)
- Cassandra (1)
- 分布式文件系统 (5)
- Dynamo (2)
- gc (8)
- scp (1)
- rsync (1)
- mecached (0)
- mongoDB (29)
- Thrift (1)
- scribe (2)
- 服务化 (3)
- 问题 (83)
- mat (1)
- classloader (2)
- javaBean (1)
- 文档集合 (27)
- 消息队列 (3)
- nginx,文档集合 (1)
- dboss (12)
- libevent (1)
- 读书 (0)
- 数学 (3)
- 流程 (0)
- HBase (34)
- 自动化测试 (1)
- ubuntu (2)
- 并发 (1)
- sping (1)
- 图形 (1)
- freemarker (1)
- jdbc (3)
- dbcp (0)
- sharding (1)
- 性能测试 (1)
- 设计模式 (2)
- unicode (1)
- OceanBase (3)
- jmagick (1)
- gunicorn (1)
- url (1)
- form (1)
- 安全 (2)
- nlp (8)
- libmemcached (1)
- 规则引擎 (1)
- awk (2)
- 服务器 (1)
- snmpd (1)
- btrace (1)
- 代码 (1)
- cygwin (1)
- mahout (3)
- 电子书 (1)
- 机器学习 (5)
- 数据挖掘 (1)
- nltk (6)
- pool (1)
- log4j (2)
- 总结 (11)
- c++ (1)
- java源代码 (1)
- ocr (1)
- 基础算法 (3)
- SA (1)
- 笔记 (1)
- ml (4)
- zokeeper (0)
- jms (1)
- zookeeper (5)
- zkclient (1)
- hadoop (13)
- mq (2)
- git (9)
- 问题,io (1)
- storm (11)
- zk (1)
- 性能优化 (2)
- example (1)
- tmux (1)
- 环境 (2)
- kyro (1)
- 日志系统 (3)
- hdfs (2)
- python_socket (2)
- date (2)
- elasticsearch (1)
- jetty (1)
- 树 (1)
- 汽车 (1)
- mdrill (1)
- 车 (1)
- 日志 (1)
- web (1)
- 编译原理 (1)
- 信息检索 (1)
- 性能,linux (1)
- spam (1)
- 序列化 (1)
- fabric (2)
- guice (1)
- disruptor (1)
- executor (1)
- logback (2)
- 开源 (1)
- 设计 (1)
- 监控 (3)
- english (1)
- 问题记录 (1)
- Bitmap (1)
- 云计算 (1)
- 问题排查 (1)
- highchat (1)
- mac (3)
- docker (1)
- jdk (1)
- 表达式 (1)
- 网络 (1)
- 时间管理 (1)
- 时间序列 (1)
- OLAP (1)
- Big Table (0)
- sql (1)
- kafka (1)
- md5 (1)
- springboot (1)
- spring security (1)
- Spring Boot (3)
- mybatis (1)
- java8 (1)
- 分布式事务 (1)
- 限流 (1)
- Shadowsocks (0)
- 2018 (1)
- 服务治理 (1)
- 设计原则 (1)
- log (0)
- perftools (1)
最新评论
-
siphlina:
课程——基于Python数据分析与机器学习案例实战教程分享网盘 ...
Python机器学习库 -
san_yun:
leibnitz 写道hi,我想知道,无论在92还是94版本, ...
hbase的行锁与多版本并发控制(MVCC) -
leibnitz:
hi,我想知道,无论在92还是94版本,更新时(如Puts)都 ...
hbase的行锁与多版本并发控制(MVCC) -
107x:
不错,谢谢!
Latent Semantic Analysis(LSA/ LSI)算法简介 -
107x:
不错,谢谢!
Python机器学习库
python 编写server的步骤:
-
第一步是创建socket对象。调用socket构造函数。如:
socket = socket.socket( family, type )
family参数代表地址家族,可为AF_INET或AF_UNIX。AF_INET家族包括Internet地址,AF_UNIX家族用于同一台机器上的进程间通信。
type参数代表套接字类型,可为SOCK_STREAM(流套接字)和SOCK_DGRAM(数据报套接字)。 -
第二步是将socket绑定到指定地址。这是通过socket对象的bind方法来实现的:
socket.bind( address )
由AF_INET所创建的套接字,address地址必须是一个双元素元组,格式是(host,port)。host代表主机,port代表端口号。如果端口号正在使用、主机名不正确或端口已被保留,bind方法将引发socket.error异常。 -
第三步是使用socket套接字的listen方法接收连接请求。
socket.listen( backlog )
backlog指定最多允许多少个客户连接到服务器。它的值至少为1。收到连接请求后,这些请求需要排队,如果队列满,就拒绝请求。
-
第四步是服务器套接字通过socket的accept方法等待客户请求一个连接。
connection, address = socket.accept()
调 用accept方法时,socket会时入“waiting”状态。客户请求连接时,方法建立连接并返回服务器。accept方法返回一个含有两个元素的 元组(connection,address)。第一个元素connection是新的socket对象,服务器必须通过它与客户通信;第二个元素 address是客户的Internet地址。 - 第五步是处理阶段,服务器和客户端通过send和recv方法通信(传输 数据)。服务器调用send,并采用字符串形式向客户发送信息。send方法返回已发送的字符个数。服务器使用recv方法从客户接收信息。调用recv 时,服务器必须指定一个整数,它对应于可通过本次方法调用来接收的最大数据量。recv方法在接收数据时会进入“blocked”状态,最后返回一个字符 串,用它表示收到的数据。如果发送的数据量超过了recv所允许的,数据会被截短。多余的数据将缓冲于接收端。以后调用recv时,多余的数据会从缓冲区 删除(以及自上次调用recv以来,客户可能发送的其它任何数据)。
- 传输结束,服务器调用socket的close方法关闭连接。
python编写client的步骤:
- 创建一个socket以连接服务器:socket = socket.socket( family, type )
-
使用socket的connect方法连接服务器。对于AF_INET家族,连接格式如下:
socket.connect( (host,port) )
host代表服务器主机名或IP,port代表服务器进程所绑定的端口号。如连接成功,客户就可通过套接字与服务器通信,如果连接失败,会引发socket.error异常。
- 处理阶段,客户和服务器将通过send方法和recv方法通信。
- 传输结束,客户通过调用socket的close方法关闭连接。
if __name__ == '__main__': import socket sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.bind(('localhost', 8001)) sock.listen(5) while True: connection,address = sock.accept() try: connection.settimeout(5) buf = connection.recv(1024) if buf == '1': connection.send('welcome to server!') else: connection.send('please go out!') except socket.timeout: print 'time out' connection.close()
if __name__ == '__main__': import socket sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.connect(('localhost', 8001)) import time time.sleep(2) sock.send('1') print sock.recv(1024) sock.close()
更多:
http://san-yun.iteye.com/admin/blogs/1616291
发表评论
-
python读取图片exif信息
2014-11-06 10:53 2407f = open("/home/admin/tlo ... -
Python程序的执行原理
2014-04-14 15:44 17331. 过程概述 Python先把代码(.py文件)编译成字 ... -
如何创建一个短链服务
2013-12-26 16:23 0参考: http://stackoverflow.com ... -
python 解析命令参数(argument)组件argparse
2013-12-11 17:35 1410参考: http://youngsterxyf.githu ... -
pyhon命令行工具optparse
2013-11-10 16:27 1045使用python optparse 可以创建命令行工具,下面 ... -
Python在豆瓣的应用
2013-10-21 10:46 1202Python在豆瓣的应用,hongqiangning分享 ... -
用python爬虫抓站的一些技巧总结
2013-10-10 14:12 1686学用python也有3个多月了,用得最多的还是各类爬虫 ... -
python小技巧
2013-10-10 11:50 7481. 声明长度256的数组 a=[0]*256 ... -
使用tesseract-ocr破解网站验证码
2013-10-09 10:25 1215原文:使用tesseract-ocr破解网站验证码 ... -
和豆瓣CMGS交流
2013-06-20 17:36 5849蒋云鹏: 在?CMGS: 在蒋 ... -
python乱码问题('ascii' codec can't encode character u'\u4e2d' in position 0)
2013-05-20 19:03 4258>>> k = u'中' >> ... -
python shell 交互模式
2013-04-28 22:17 1643python 通过code模块可以很容易的进入交互模式: ... -
jython和gunicorn性能测试对比
2013-04-13 13:03 1313helloworld,笔记本上: gunicorn ... -
python的mysql客户端-MySQLdb
2013-04-04 10:13 1176平时的主要编程语言是Java,开发时也主要用Mysql,经常 ... -
Python几种并发实现方案的性能比较
2013-03-18 21:14 2970原文:http://www.elias.cn/P ... -
python汉字和Unicode码(utf-8)之间的转换(Pack/Unpack)
2013-03-18 21:13 1654保证你要转换的字符串编码为UTF8,如果不是,请iconv ... -
python反序列化的坑
2013-01-06 18:06 1285今天遇到python一个坑,调用memcached的get_m ... -
sqlalchemy connection pool.py 源代码
2012-12-29 22:58 2254把 sqlalchemy pool源代码copy下来,有空看看 ... -
SQLAlchemy简单介绍
2012-12-28 22:41 0文档参考:http://docs.sqlalchemy.org ... -
pymysql简单使用
2012-12-28 12:38 2125import pymysql conn = pymysq ...
相关推荐
Python的socket模块是网络编程的基础,它提供了低级的、原始的TCP/IP和UDP套接字接口。在本文中,我们将深入探讨Python中socket的基本...希望本文对你在Python socket学习上有所帮助,也欢迎大神级别的指导,共同进步!
Python Socket模块是网络编程的基础,它提供了...通过这两个文件,我们可以学习如何创建Socket,进行连接、数据交换以及关闭连接。在实际项目中,这些基础概念会被扩展到更复杂的网络应用中,如Web服务器、聊天应用等。
通过分析这两份代码,我们可以学习如何在Python中进行实际的Socket通信。 TCP和UDP的选择取决于具体的应用需求。如果你需要可靠的数据传输,不关心额外的延迟和带宽开销,那么TCP是理想选择。反之,如果速度和实时...
总之,"Dos.rar_nine44k_python_python socket_python socket聊天_python聊天室"是一个关于使用Python socket模块创建多人聊天室的项目,它涵盖了网络编程、并发处理和用户交互等多个关键知识点,是学习Python网络...
通过这个过程,我们将学习到Python中的socket编程基础、多线程处理以及如何设计一个简单的网络应用程序。 #### 技术栈与环境 - **Python版本**:推荐使用Python 3.x。 - **开发工具**:推荐使用PyCharm或VS Code等...
在Python编程领域,Socket是用于网络通信的一种基础模块,它允许...总的来说,这个项目涵盖了Python的网络编程、数据库管理和基本的用户交互,是一个很好的学习和实践平台,有助于提升开发者在实际项目中的综合技能。
"python socket局域网聊天与文件传输.zip" 这个标题表明了我们讨论的主题是基于Python的socket编程技术,用于构建一个局域网内的聊天和文件传输应用。Socket是网络编程的基础,它允许两个或多个设备通过网络进行通信...
Python网络编程教程主要介绍如何使用Python语言开发基于socket的网络应用程序,通过本教程的学习,初学者可以掌握Python在网络编程方面的基础知识和高级特性。本教程采用的示例为聊天程序,旨在通过实例加深对Python...
总之,这个"Python Socket多人聊天编程"项目是学习Python网络编程和多线程应用的一个基础实例,它帮助开发者理解如何利用socket实现基本的客户端-服务器通信,以及如何通过多线程实现并发处理。对于进一步深入研究...
综上所述,通过本教程系列的学习,不仅可以掌握Python Socket编程的基础知识,还能深入了解多线程技术及其在网络编程中的应用,最终能够独立完成一个功能完备的FTP服务器的开发。这对于提升个人技能、拓宽职业道路都...
Python异步Socket编程代码,对想学习python socket的人有用
标题中的“daili.zip_PYTHON SOCKET5_python_socket5_zip”表明这是一...通过`daili.py`这个脚本,我们可以学习如何在Python环境中创建和使用SOCKET5代理,理解网络通信的底层机制,以及如何处理网络编程中的各种问题。
Python的socket模块是进行网络通信的基础,它提供了一种低级别的、原始的TCP/IP套接字接口。...这个示例为初学者提供了学习Python网络编程的一个基础起点,同时也为更复杂的网络应用开发提供了思路。
根据提供的标题、描述以及部分内容,本文将围绕Python中的网络编程技术进行深入探讨,重点解析socket模块及相关的高级网络处理库的使用方法与示例。在Python标准库中,socket是进行网络通信的基础,通过它我们可以...
【Python聊天室 (socket tkinter)】是一个基于Python编程语言实现的简单聊天应用程序,它结合了socket库进行网络通信,tkinter库创建图形用户界面(GUI),以及threading库实现多线程来同步处理用户交互和网络活动。...
对于想要深入学习Python网络编程的朋友,文中推荐了多个专题教程,如《Python Socket编程技巧总结》、《Python数据结构与算法教程》等,为读者提供了进一步学习的资源。通过阅读这些教程,读者可以更加深入地理解...
在IT领域,网络通信是不可或缺的一部分,而Python作为一种强大的编程语言,提供了丰富的库来支持这一功能,其中之一就是Socket。...这个项目对于学习网络编程和Python Socket使用是一个很好的实践案例。
对于Python爱好者来说,掌握socket编程是进阶学习的重要环节。 描述中提到了文档的内容适合“Python爱好者进阶学习”,这说明文档可能会涉及到一些基础概念,并且深入探讨socket编程中的高级应用。例如,文档中可能...
资源内容:基于Socket的聊天室Python...使用/学习目标:了解 Socket 核心原理 特点:简单、带GUI方便使用 适用人群:想阅读Python源码的初学者,想自己搭建远程聊天室的站长们 可以参考本资源来搭建属于您的聊天室!
在"python_socket_video"这个项目中,开发者已经实现了上述功能,通过解压并运行代码,你可以学习到如何利用Python的socket库进行实时视频流传输。这个项目对于学习网络编程和视频处理具有很高的实践价值。