python 网络编程第一版
--version 1.0 只完成server/client 之间的通信。
1、server端的代码:
#!/usr/bin/python
#!coding:utf-8 from socket import *
import os,sys if __name__=="__main__":
#定义套接字
hostIp='127.0.0.1'
port=2048
sock=socket(AF_INET,SOCK_STREAM)
sock.bind((hostIp,port))
sock.listen(5)
print '[info] 开始监听{0}:{1}'.format(hostIp,port)
while True:
#接受一个客户端的连接
conn,addr = sock.accept()
print '[info] has recived a client from {0}'.format(addr)
#与客户端进行交互,直到客户端退出
while True:
#接收客户端发来的信息,一次最多收1024字节
recivedData=conn.recv(1024)
#由于客户端在断开时会发送一个空串,所以我们用这个上来测试连接是否断开
if not recivedData : print '[wan] 客户端已经断开连接...'; break;
print '[info] this is a infomation from client --> {0}'.format(recivedData.decode())
#发送信息到客户端
conn.send('this inforamtion from server --> {0}'.format(recivedData.decode()).encode())
conn.close()
2、client端的代码:
#!/usr/bin/python
#!coding:utf-8 from socket import *
import os,sys if __name__ == "__main__":
#定义套接字
hostIp='127.0.0.1'
port=2048
sock=socket(AF_INET,SOCK_STREAM)
messages=['hello I am a client']
messages=messages+sys.argv[1:]
sock.connect((hostIp,port))
print '[info] 已经连接到server ' for message in messages:
sock.send(message.encode())
print sock.recv(1024).decode()
sock.close()
python 网络编程第一版的更多相关文章
- Python 网络编程(二)
Python 网络编程 上一篇博客介绍了socket的基本概念以及实现了简单的TCP和UDP的客户端.服务器程序,本篇博客主要对socket编程进行更深入的讲解 一.简化版ssh实现 这是一个极其简单 ...
- Python 网络编程(一)
Python 网络编程 socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求. ...
- Python学习(22)python网络编程
Python 网络编程 Python 提供了两个级别访问的网络服务.: 低级别的网络服务支持基本的 Socket,它提供了标准的 BSD Sockets API,可以访问底层操作系统Socket接口的 ...
- Day07 - Python 网络编程 Socket
1. Python 网络编程 Python 提供了两个级别访问网络服务: 低级别的网络服务支持基本的 Socket,它提供了标准的 BSD Sockets API,可以访问底层操作系统Socket接口 ...
- python网络编程-01
python网络编程 1.socket模块介绍 ①在网络编程中的一个基本组件就是套接字(socket),socket是两个程序之间的“信息通道”. ②套接字包括两个部分:服务器套接字.客户机套接字 ③ ...
- 《Python网络编程》学习笔记--使用谷歌地理编码API获取一个JSON文档
Foundations of Python Network Programing,Third Edition <python网络编程>,本书中的代码可在Github上搜索fopnp下载 本 ...
- Python网络编程基础pdf
Python网络编程基础(高清版)PDF 百度网盘 链接:https://pan.baidu.com/s/1VGwGtMSZbE0bSZe-MBl6qA 提取码:mert 复制这段内容后打开百度网盘手 ...
- python 网络编程(Socket)
# from wsgiref.simple_server import make_server## def RunServer(environ,start_response):# start_resp ...
- python 网络编程 IO多路复用之epoll
python网络编程——IO多路复用之epoll 1.内核EPOLL模型讲解 此部分参考http://blog.csdn.net/mango_song/article/details/4264 ...
随机推荐
- 在Yii框架中使用PHPExcel
PHPExcel是一个比较好用的php读取excel文件的类库,今天遇到了在yii中如何加载PHPExcel类文件的问题,因为Yii的autoload机制是安装类名去找文件,即文件名就是相应的类名,而 ...
- 生成shadow中hash字串
[root@master base]# openssl passwd -1 -salt 123Password: $1$123$2rm.J6pr3p.rmj6YoKSQ8.[root@master b ...
- activiti 部署在oracle多用户下不能自动建表问题的解决!
在activiti配置文件中的SpringProcessEngineConfiguration的配置项中添加<property name= "databaseSchema" ...
- js分页代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xh ...
- LFS,编译自己的Linux系统 - 前言
近期工作计划:1. 上班时,用Django编写一个网站:2. 下班时,用C#.WPF编写一个单机版应用软件:3. 其他时间,根据LFS编译自己的Linux系统. LFS是一本书,书中列出了从零开始编译 ...
- Holding Bin-Laden Captive!(hdoj1085)代码并未完全看懂
We all know that Bin-Laden is a notorious terrorist, and he has disappeared for a long time. But rec ...
- SQL Server 创建索引的 5 种方法
前期准备: create table Employee ( ID int not null primary key, Name nvarchar(4), ...
- Oracle EBS-SQL (MRP-4):检查例外信息查询_建议取消_采购申请.sql
select msi.segment1 编码 ,msi.description 描述 ,mr.old_order_quantit ...
- Linux install Maven3
1. Download JDK1.6 http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u31-download-1501634 ...
- 深入研究 Win32 结构化异常处理(作者博客有许多SEH的研究文章)
摘要 就像人们常说的那样,Win32 结构化异常处理(SEH)是一个操作系统提供的服务.你能找到的所有关于 SEH 的文档讲的都是针对某个特定编译器的.建立在操作系统层之上的封装库.我将从 SEH 的 ...