Python_socket_TCP
zServer.py
# coding=utf-8
import socket
words={'how are you?':'Fine,thank you.',
'how old are you?':'',
'what is your name?':'zWrite',
'where do you word?':'PopularWorker',
'bye':'Bye'}
HOST = ''
PORT = 50007
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
#绑定socket
s.bind((HOST,PORT))
#开始监听
s.listen(1)
print('Listening at port:',PORT)
conn,address = s.accept()
print('Connected by',address)
while True:
data = conn.recv(1024)
data = data.decode()
if not data:
break
print('Received message:',data)
conn.sendall(words.get(data,'Nothing').encode())
conn.close()
zClient.py
# coding=utf-8
import socket HOST = '192.168.4.102' #服务器主机IP地址
PORT = 50007 #服务端主机端口号
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect((HOST,PORT)) #建立连接
while True:
c =input('Input the content you want to send:')
s.sendall(c.encode()) #发送数据
data = s.recv(1024) #从客户端接受数据
data = data.decode()
print('Received:',data)
if c.lower() == 'bye':
break
s.close() #关闭连接
先运行zServer.py再运行zClinet.py
Python_socket_TCP的更多相关文章
随机推荐
- git简介及使用方法
一.git简介及安装1.git简介 Git 是用于 Linux 内核开发的版本控制工具.与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持, ...
- 学习pthreads,使用条件变量进行多线程之间的同步
条件变量提供另一种多线程同步的方法.互斥量通过控制对共享数据的访问来同步任务.条件变量可以根据数据的值来同步任务.条件变量是当一个事件发生时发送信号的信号量.一旦事件发生,可能会有多个线程在等待信号, ...
- FSM之SMC使用总结
FSM之SMC使用总结 Part1: Smc.jar state machine compiler usage Reference: http://smc.sourceforge.net/ ...
- Dynamics Crm2011 Removes an option from an Option Set control
应用场景:OptionSet中有N个option值,特定的条件下需要去除某些option的显示,例如在某个条件下我要红框中的两个option不显示 var purchasetype= Xrm.Page ...
- 关于学习MMU的一点感想
MMU的一个主要服务是能把各个人物作为各自独立的程序在其自己的虚拟存储空间中运行. 虚拟存储器系统的一个重要特征是地址重定位.地址重定位是将处理器核产生的地址转换到主存的不同地址,转换由MMU硬件完成 ...
- STL常用排序算法介绍
merge() 以下是排序和通用算法:提供元素排序策略 merge: 合并两个有序序列,存放到另一个序列. #include <iostream> #include <cstdi ...
- Mac OS X 10.8.4下面XZ Utils(*.tar.xz)压缩解压缩命令工具的安装
主要参考:http://bbs.chinaunix.net/thread-3610738-1-1.html 现在很多找到的软件都是tar.xz的格式的,xz 是一个使用 LZMA压缩算法的无损数据压缩 ...
- Vim/Vi实用技巧(第二版)
Vim/Vi实用技巧 1.导入文件 :r [文件名] #导入到当前编辑的文件中 如 :r /etc/inittab 文件上部为/etc/services文件,下部为/etc/inittab文件 2.执 ...
- 《java入门第一季》之面向对象(成员方法)
/* 类的组成:成员变量,成员方法 又加入了一个新的成员:构造方法. 以后再提(类的组成): 成员变量 构造方法 成员方法 根据返回值: void类型 非void类型 形式参数: 空参方法 非空参方法 ...
- 《java入门第一季》之面向对象
之前的代码描述都是基于面向过程的,今天开始正式进入面向对象的世界.什么是对象?首先要区分类和对象的概念-- 现实世界中是如何描述一个事物的? 举例:学生 姓名,年龄,性别... 学习,吃饭,睡觉 属性 ...