Python Socket通信例子
一、TCP 通信
- 服务端
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# server_tcp.py import socket so = socket.socket()
so.bind(('127.0.0.1', 8080))
so.listen() while True:
conn, addr = so.accept() while True:
ret = conn.recv(1024).decode('utf-8')
print(ret)
if ret == 'bye':
break
msg = input("请输入<<< ")
if msg == 'bye':
conn.send(b'bye')
break conn.send(bytes(msg, encoding='utf-8')) conn.close() so.close()
- 客户端
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# client_tcp.py import socket so = socket.socket()
so.connect(('127.0.0.1', 8080)) while True:
msg = input("请输入<<< ")
if msg == 'bye':
so.send(b'bye')
break
so.send(bytes(msg, encoding='utf-8'))
ret = so.recv(1024).decode('utf-8')
print(ret)
if ret == 'bye':
break
二、UDP通信
- 服务端
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# server_udp.py import socket so = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
so.bind(('127.0.0.1', 8080)) while True:
ret, addr = so.recvfrom(1024)
print(ret.decode('utf-8'), addr) msg = input("请输入<<< ")
so.sendto(bytes(msg, encoding='utf-8'), addr) so.close()
- 客户端
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# client_udp.py import socket so = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
ip_port = ('127.0.0.1', 8080) while True:
msg = input("请输入<<< ")
if msg == 'bye':
so.sendto(b'bye', ip_port)
break
so.sendto(bytes(msg, encoding='utf-8'), ip_port)
ret, addr = so.recvfrom(1024)
print(ret.decode('utf-8'), addr)
if ret == 'bye':
break so.close()
Python Socket通信例子的更多相关文章
- Python Socket通信原理
[Python之旅]第五篇(一):Python Socket通信原理 python Socket 通信理论 socket例子 摘要: 只要和网络服务涉及的,就离不开Socket以及Socket编 ...
- python - socket通信笔记
参考: 通过编写聊天程序来熟悉python中多线程和socket的用法:https://www.cnblogs.com/mingjiatang/p/4905395.html python socket ...
- Python socket 通信功能简介
常用的地址家族AF_UNIX:基于文件,实现同一主机不同进程之间的通信AF_INET:基于网络,适用于IPv4AF_INET6:基于网络,使用于IPv6 常见的连接类型SOCK_STREAM:即TCP ...
- Python Socket通信黏包问题分析及解决方法
参考:http://www.cnblogs.com/Eva-J/articles/8244551.html#_label5 1.黏包的表现(以客户端远程操作服务端命令为例) 注:只有在TCP协议通信的 ...
- Python socket通信之FTP
Python中利用socket进行server端和client端通信是网络编程的基础,是最简单的传输范例. (懂网络的请自动跳过这一部分) 首先,要想通信,必须建立连接,建立连接的过程,需要clien ...
- java的Socket通信例子及关于java.net.SocketException: Socket is closed错误
今天写socket数据相互通信的时候,碰到一个及其蛋疼的错误.单向传输数据的时候server与client是没有问题的,但是两个都有输入输出操作的时候就出现了这个问题 java.net.SocketE ...
- 树莓派小车By 树莓派爱好者ITJoker(通过python socket通信实现树莓派视频小车)(一)
本文由树莓派爱好者ITJoker 编辑,转载请注明出处.本人也有新浪博客同样是树莓派爱好者ITJoker 所需材料:树莓派2B或者2B以上,L2985n驱动板,若干排线,电池及电池盒,usb无线网卡( ...
- Socket通信例子
Server端 using System; using System.Collections.Generic; using System.ComponentModel; using System.Da ...
- Python Socket 通信
参考: http://www.cnblogs.com/alex3714/articles/5830365.html Socket A network socket is an endpoint of ...
随机推荐
- SharePoint2013与SharePoint2016语言切换原理以及如何使用代码进行语言切换
1.前言 在SharePoint 2010版本,在首页面直接"选择显示语言"的菜单(如下图所示),如下图 : 在sharepoint2013和sharepoint2016并非如此. ...
- 3D Slicer 4.7.0 VS 2010 Compile 编译
花了将近一周的时间的,终于在VS2010成功的编译了最新版的3D Slicer 4.7.0,感觉快要崩溃了.Slicer用了20多个外部的库,全都要一起编译,完整编译一次起码要七八个小时,光VS的Ou ...
- win怎么设置最快捷的下滑关机
win怎么设置最快捷的下滑关机 1.在C:\Windows\System32下找到SlideToShutDown.exe文件发送一份到桌面快捷方式 2.右键此快捷方式--属性--更换图表--更换一个自 ...
- {Django基础六之ORM中的锁和事务}一 锁 二 事务
Django基础六之ORM中的锁和事务 本节目录 一 锁 二 事务 一 锁 行级锁 select_for_update(nowait=False, skip_locked=False) #注意必须用在 ...
- 查看线程的进程id
import os from threading import Thread def f1(n): print(n) print('%d号线程的id是%s'%(n,os.getpid())) if _ ...
- AutoFac Ioc依赖注入容器
本文原著:牛毅 原文路径 http://niuyi.github.io/blog/2012/04/06/autofac-by-unit-test/ 理解IOC容器请看下图: 没有使用IOC容器的情况 ...
- [No0000DB]C# FtpClientHelper Ftp客户端上传下载重命名 类封装
using System; using System.Diagnostics; using System.IO; using System.Text; using Shared; namespace ...
- Vue 超快速学习
Vue 超快速学习 基础知识: 1.vue的生命周期: beforeCreate/created. beforeMount/mounted. beforeUpdate/updated. beforeD ...
- -bash: fork: Cannot allocate memory
今天遇到服务器无法SSH,VNC操作命令提示fork:cannot allocate memory free查看内存还有(注意,命令可能要多敲几次才会出来) 查看最大进程数 sysctl kernel ...
- postgre
切换用户:su postgres 启动:psql 查看有哪些数据库: \l 切换到数据库air: \c air 列出数据库中所有表: \d 列出指定表的所有字段信息: \d+ dag 或者 \d da ...