--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 网络编程第一版的更多相关文章

  1. Python 网络编程(二)

    Python 网络编程 上一篇博客介绍了socket的基本概念以及实现了简单的TCP和UDP的客户端.服务器程序,本篇博客主要对socket编程进行更深入的讲解 一.简化版ssh实现 这是一个极其简单 ...

  2. Python 网络编程(一)

    Python 网络编程 socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求. ...

  3. Python学习(22)python网络编程

    Python 网络编程 Python 提供了两个级别访问的网络服务.: 低级别的网络服务支持基本的 Socket,它提供了标准的 BSD Sockets API,可以访问底层操作系统Socket接口的 ...

  4. Day07 - Python 网络编程 Socket

    1. Python 网络编程 Python 提供了两个级别访问网络服务: 低级别的网络服务支持基本的 Socket,它提供了标准的 BSD Sockets API,可以访问底层操作系统Socket接口 ...

  5. python网络编程-01

    python网络编程 1.socket模块介绍 ①在网络编程中的一个基本组件就是套接字(socket),socket是两个程序之间的“信息通道”. ②套接字包括两个部分:服务器套接字.客户机套接字 ③ ...

  6. 《Python网络编程》学习笔记--使用谷歌地理编码API获取一个JSON文档

    Foundations of Python Network Programing,Third Edition <python网络编程>,本书中的代码可在Github上搜索fopnp下载 本 ...

  7. Python网络编程基础pdf

    Python网络编程基础(高清版)PDF 百度网盘 链接:https://pan.baidu.com/s/1VGwGtMSZbE0bSZe-MBl6qA 提取码:mert 复制这段内容后打开百度网盘手 ...

  8. python 网络编程(Socket)

    # from wsgiref.simple_server import make_server## def RunServer(environ,start_response):# start_resp ...

  9. python 网络编程 IO多路复用之epoll

    python网络编程——IO多路复用之epoll 1.内核EPOLL模型讲解     此部分参考http://blog.csdn.net/mango_song/article/details/4264 ...

随机推荐

  1. 在vs.net c#中添加mysql模型

    http://weblogs.asp.net/gunnarpeipman/getting-mysql-work-with-entity-framework-4-0 http://dev.mysql.c ...

  2. JS 中刷新页面的方法

    整理了就是这几种,,有些在IE下面是不支持的,慎用... 1,history.go(0) 2,location.reload() 3,location=location 4,location.assi ...

  3. 纯css改变下拉列表select框的默认样式

    下列CSS就可以解决,原理是将浏览器默认的下拉框样式清除,然后应用上自己的,再附一张向右对齐小箭头的图片即可. select { /*Chrome和Firefox里面的边框是不一样的,所以复写了一下* ...

  4. Git使用笔记(一)

    今天第一次使用Git,在本地和CSDN Code进行代码同步.鉴于“好记性不如烂笔头”的经验教训,特把步骤记录下来. 准备工作: 1. 在CSDN(或者Github)上注册一个帐号,然后创建一个Rep ...

  5. python学习day10

    目录 Twisted Redis RabbitMQ   Twisted   事件驱动 事件驱动分为两个部分:第一,注册事件:第二,触发事件. 自定义事件启动框架,命名为:"弑君者" ...

  6. 检测android的网络链接状态

    http://www.oschina.net/question/100267_61129?sort=default&p=1#tags_nav http://www.cnblogs.com/to ...

  7. 清理下NFC的基本概念

    移动支付这事情热了总归还是会回归理性,就如同之前的10几年间的几次轮回一样.字面上看,移动支付比支付大也不大可能,有相同,有扩展,有交集有不通才是. NFC这事情也是说了快十年了,真心希望它能回归到其 ...

  8. 【Xamarin挖墙脚系列:Xamarin正式发布了IOS的模拟器在Windows下】

    xamarin 的发展越来越迅速.如果还感觉这玩意儿是个鸡肋,辣么请跟的上时代吧 . (额,对微软产品有严重偏见的请绕行..............其实你可以看看.net 基金会现有的开源项目再说不开 ...

  9. 【Javascript下载文件的Post实现】

    /** *从服务器上下载数据 *@param paras Json格式的键值对参数 */ downLoadFromServer: function (paras) { //init a new win ...

  10. (六)boost库之内存管理shared_ptr

    (六)boost库之内存管理shared_ptr 1.shared_ptr的基本用法 boost::shared_ptr<int> sp(new int(10)); //一个指向整数的sh ...