python网络socket编程
一、服务端
#!/usr/bin/python
# -*- coding: UTF-8 -*- import socket
import sys
from thread import * HOST = '127.0.0.1' # Symbolic name meaning all available interfaces
PORT = 8888 # Arbitrary non-privileged port s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
print 'Socket created' #Bind socket to local host and port
try:
s.bind((HOST, PORT))
except socket.error , msg:
print 'Bind failed. Error Code : ' + str(msg[0]) + ' Message ' + msg[1]
sys.exit() print 'Socket bind complete' #Start listening on socket
s.listen(10)
print 'Socket now listening' #Function for handling connections. This will be used to create threads
def clientthread(conn):
#Sending message to connected client
conn.send('Welcome to the server. Type something and hit enter\n') #send only takes string #infinite loop so that function do not terminate and thread do not end.
while True: #Receiving from client
data = conn.recv(1024)
reply = '收到信息:' + data print reply reply = "my name is 徐芳波 "
if not data:
break conn.sendall(reply) #came out of loop
conn.close() #now keep talking with the client
while 1:
#wait to accept a connection - blocking call
conn, addr = s.accept()
print 'Connected with ' + addr[0] + ':' + str(addr[1]) #start new thread takes 1st argument as a function name to be run, second is the tuple of arguments to the function.
start_new_thread(clientthread ,(conn,)) s.close()
二、客户端
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 文件名:client.py import socket # 导入 socket 模块
import time s = socket.socket() # 创建 socket 对象
host = '127.0.0.1' # 获取本地主机名
port = 8888 # 设置端口好 s.connect((host, port)) while True : s.send("my name is 开心 " )
data = s.recv(1024)
print '收到信息:'+data
time.sleep(1) s.close()
三、运行服务端
root@xushi:~/ai/python# python netsharp.pigeon.py
Socket created
Socket bind complete
Socket now listening
Connected with 127.0.0.1:40114
收到信息:my name is 开心
收到信息:my name is 开心
收到信息:my name is 开心
收到信息:my name is 开心
收到信息:my name is 开心
收到信息:my name is 开心
收到信息:my name is 开心
收到信息:my name is 开心
收到信息:my name is 开心
收到信息:my name is 开心
四、运行客户端
root@xushi:~/ai/python# python netsharp.pigeon.client.py
收到信息:Welcome to the server. Type something and hit enter 收到信息:my name is 徐芳波
收到信息:my name is 徐芳波
收到信息:my name is 徐芳波
收到信息:my name is 徐芳波
收到信息:my name is 徐芳波
收到信息:my name is 徐芳波
收到信息:my name is 徐芳波
收到信息:my name is 徐芳波
收到信息:my name is 徐芳波
收到信息:my name is 徐芳波
python网络socket编程的更多相关文章
- 转:Python 的 Socket 编程教程
这是用来快速学习 Python Socket 套接字编程的指南和教程.Python 的 Socket 编程跟 C 语言很像. Python 官方关于 Socket 的函数请看 http://docs. ...
- Python 3 socket 编程
Python 3 socket编程 一 客户端/服务器架构 互联网中处处是C/S架构 1.C/S结构,即Client/Server(客户端/服务器)结构 2.在互联网中处处可见c/s架构 比如说浏览器 ...
- 最基础的Python的socket编程入门教程
最基础的Python的socket编程入门教程 本文介绍使用Python进行Socket网络编程,假设读者已经具备了基本的网络编程知识和Python的基本语法知识,本文中的代码如果没有说明则都是运行在 ...
- python之socket编程(一)
socket之前我们先来熟悉回忆几个知识点. OSI七层模型 OSI(Open System Interconnection)参考模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标 ...
- Python:socket编程教程
ocket是基于C/S架构的,也就是说进行socket网络编程,通常需要编写两个py文件,一个服务端,一个客户端. 首先,导入Python中的socket模块: import socket Pytho ...
- UDP协议网络Socket编程(java实现C/S通信案例)
我的博客园:https://www.cnblogs.com/chenzhenhong/p/13825286.html 我的CSDN博客:https://blog.csdn.net/Charzous/a ...
- Java:基于TCP协议网络socket编程(实现C/S通信)
目录 一.前言:TCP原理简介 二.Socket编程通信 三.TCP服务器端(具体代码) 四.TCP客户端(具体代码) 五.通信效果演示 六."创意"机器人:价值一个亿的AI核心代 ...
- java多线程实现TCP网络Socket编程(C/S通信)
目录 开篇必知必会 一.多线程技术 二.实现多线程接收 1.单线程版本 2.多线程版本 三.多线程与进程的关系 四.客户端界面完整代码 五.多线程通信对比 最后 开篇必知必会 在前一篇<Java ...
- python网络-Socket之TCP编程(26)
一.TCP简介 1.TCP介绍 TCP协议,传输控制协议(英语:Transmission Control Protocol,缩写为 TCP)是一种面向连接的.可靠的.基于字节流的传输层通信协议. TC ...
随机推荐
- cdh 安装系列1-- manager 6.01 安装
一.如果是远程centos安装,请参考我得博客,通过xmanager 链接centos桌面 二.Non-production Installation Ideal for trying Clouder ...
- Python爬虫使用MD5加密的坑
由于公司的业务需要,需要爬取很多的国外网站图片,然后兄弟我一路正则杀过去,总共匹配到658张链接,心里美滋滋开始写下载的代码.然后就有了这次坑的记录. 首先这是我查到的链接数量 然后爬虫跑完后,美滋滋 ...
- 【Django】关于前端配置
今天在网上课程了学了一下前端配置,感觉搭这个环境安装了不少东西,自己都有点混乱,现在整理一下思路: 1.nvm 即Note Version Manager用来管理node版本的工具: windows版 ...
- MyBufferedReader
/** 需求:自定义一个包含 readLine 方法的 BufferedReader 来模拟一下 BufferedReader */ import java.io.FileReader; import ...
- docker save 批量导出脚本
[root@vultr home]# cat docker_sove.sh docker images > images.txtawk '{print $1}' images.txt > ...
- pta l3-7(天梯地图)
题目链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805051153825792 题意:给定n个地点,m条边以及边的 ...
- Python开发【第二篇】:Python基本数据类型
运算符 设定:a=10,b=20 . 算数运算 2.比较运算 3.赋值运算 4.逻辑运算 5.成员运算 基本数据类型 1.数字 int(整型) 在32位机器上,整数的位数为32位,取值范围为- ...
- Django的auth【认证】模块简介
首先我们先来复习一下路由别名如何使用,这里仅仅复习一下二级路由的路由别名该如何使用 ·1.在视图函数中使用二级路由别名,需要加上app的名称+“:”+ “路由别名” from django.urls ...
- MB_DOCUMENT_BADI调试(Update Debug)
Update Module函数,主要用语对话或报表中实现同步和异步更新数据库操作,需要单独调用函数实现更新数据库表,但又要求对程序的运行不产生影响(更新成功与否不影响主程序的正常执行) 几个操作,要么 ...
- java遍历当前会话所有Session
//方法一:通过遍历的方法进行遍历 String FileName=""; HttpSession session=request.getSession();//获取session ...