Python中的网络编程
TCPServer端:
__author__ = 'Nature'
# -*- coding: utf-8 -*-
from socket import *
from time import ctime
HOST = ''
PORT = 21567
BUFSIZ=1024
ADDR = (HOST,PORT) tcpserver = socket(AF_INET,SOCK_STREAM)
tcpserver.bind(ADDR)
tcpserver.listen(5) while True:
print("waiting for connection....")
tcpclient ,addr = tcpserver.accept()
print('...connected from:',addr)
while True:
data = tcpclient.recv(BUFSIZ)
if not data:
break
tcpclient.send(('[%s]%s'%(ctime(),data)).encode())
tcpclient.close()
tcpserver.close()
TCPclient端:
__author__ = 'Nature'
# -*- coding: utf-8 -*-
from socket import * HOST ='127.0.0.1'
PORT = 21567
BUFSIZE = 1024
ADDR = (HOST,PORT) tcpclient = socket(AF_INET,SOCK_STREAM)
tcpclient.connect(ADDR) while True:
data = input('>')
if not data:
break
tcpclient.send(data.encode())
data = tcpclient.recv(BUFSIZE)
if not data:
break
print(data)
tcpclient.close()
UDPserver端:
__author__ = 'Nature'
# -*- coding: utf-8 -*-
from socket import *
from time import ctime
HOST = ''
PORT = 21567
BUFSIZ=1024
ADDR = (HOST,PORT) tcpserver = socket(AF_INET,SOCK_DGRAM)
tcpserver.bind(ADDR) while True:
print("waiting for message....")
tcpclient ,addr = tcpserver.recvfrom(BUFSIZ)
tcpserver.sendto(('[%s]%s'%(ctime(),tcpclient)).encode(),addr)
print('...receive from and returned to:',addr)
tcpserver.close()
UDPclient端:
__author__ = 'Nature'
# -*- coding: utf-8 -*-
from socket import * HOST ='127.0.0.1'
PORT = 21567
BUFSIZE = 1024
ADDR = (HOST,PORT) udpclient = socket(AF_INET,SOCK_DGRAM) while True:
data = input('>')
if not data:
break
udpclient.sendto(data.encode(),ADDR)
data,ADDR = udpclient.recvfrom(BUFSIZE)
if not data:
break
print(data)
udpclient.close()
Python中的网络编程的更多相关文章
- python高级之网络编程
python高级之网络编程 本节内容 网络通信概念 socket编程 socket模块一些方法 聊天socket实现 远程执行命令及上传文件 socketserver及其源码分析 1.网络通信概念 说 ...
- python 之socket 网络编程
socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求. socket起源于Un ...
- Python中的并发编程
简介 我们将一个正在运行的程序称为进程.每个进程都有它自己的系统状态,包含内存状态.打开文件列表.追踪指令执行情况的程序指针以及一个保存局部变量的调用栈.通常情况下,一个进程依照一个单序列控制流顺序执 ...
- 第六篇:python高级之网络编程
python高级之网络编程 python高级之网络编程 本节内容 网络通信概念 socket编程 socket模块一些方法 聊天socket实现 远程执行命令及上传文件 socketserver及 ...
- python中的TCP编程学习
今天看了一下关于python的TCP编程. 发现思路和其他语言(比如java)思路基本上差点儿相同. 先看client.基本过程例如以下: 第一步:创建一个socket 第二步:建立连接 第三步:发送 ...
- Python中的网络扫描大杀器Scapy初探
Python中的网络扫描大杀器Scapy初探 最近经历了Twisted的打击,这个网络编程实在看不懂,都摸不透它的内在逻辑,看来网络编程不是那么好弄的.还好,看到了scapy,这种网络的大杀器 ...
- 网游中的网络编程系列1:UDP vs. TCP
原文:UDP vs. TCP,作者是Glenn Fiedler,专注于游戏网络编程相关工作多年. 目录 网游中的网络编程系列1:UDP vs. TCP 网游中的网络编程2:发送和接收数据包 网游中的网 ...
- 网游中的网络编程3:在UDP上建立虚拟连接
目录 网游中的网络编程系列1:UDP vs. TCP 网游中的网络编程2:发送和接收数据包 网游中的网络编程3:在UDP上建立虚拟连接 TODO 二.在UDP上建立虚拟连接 介绍 UDP是无连接的,一 ...
- Python 中的 TK编程
可爱的 Python:Python 中的 TK编程 http://www.ibm.com/developerworks/cn/linux/sdk/python/charm-12/ python che ...
随机推荐
- GUI学习中错误Exception in thread "main" java.lang.NullPointerException
运行时出现错误:Exception in thread "main" java.lang.NullPointerException 该问题多半是由于用到的某个对象只进行了声明,而没 ...
- SQLite
什么是SQLite SQLite是一款轻型的嵌入式数据库 它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了 它的处理速度比Mysql.PostgreSQL这两款著名的数据库都还快 ...
- Généralement c'est un mélange qui me devient personnellement
Parmi mes plus grands problèmes personnels avec maisons de rue conventionnelles est en fait ils sont ...
- pip 与pip3
pip 3用于python3 版本 pip2 用于python2版本 pip好像可以通用 "pip2" is for Python2, "pip3″ is for Pyt ...
- 高性能异步图片加载器的JS库:lazysizes
<script src="lazysizes.min.js" async=""></script> 使用示例 <!-- non-r ...
- css3 圆角
-moz-border-radius: 15px; /* Gecko browsers */ -webkit-border-radius: 15px; /* Webkit browsers */ bo ...
- JAVA WEB项目中各种路径的获取
JAVA WEB项目中各种路径的获取 标签: java webpath文件路径 2014-02-14 15:04 1746人阅读 评论(0) 收藏 举报 分类: JAVA开发(41) 1.可以在s ...
- 批量解密SQLSERVER数据库中的各种对象的工具dbForge SQL Decryptor
批量解密SQLSERVER数据库中的各种对象的工具dbForge SQL Decryptor2.1.11 之前写过一篇文章,使用redgate公司的SQL PROMPT工具,但是不太方便 SQLPRO ...
- ruby 基础知识(二)
ruby 中的动态方法 http://singleant.iteye.com/blog/1680382 Rails 大量使用了符号(symbol).符号看上去很像变量名,不过以冒号作为前缀.符号的例 ...
- Linux基础知识整理
一.基础知识 1.Linux简介 Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CPU的操作系统.它能运行主要的UNIX工具软件 ...