[Python_7] Python Socket 编程

news/2024/7/5 4:01:52

 

0. 说明

  Python Socket 编程

 


 

1. TCP 协议

  [TCP Server]

  通过 netstat -ano 查看端口是否开启

# -*-coding:utf-8-*-"""TCP 协议的 Socket 编程,Server 端Server 端绑定到指定地址,监听特定的端口,接受发来的连接请求
"""
import threading
import socket
import timeclass CommThread(threading.Thread):def run(self):while True:# 接受数据data = sock.recv(4096)print("收到了%s = %s" % (str(self.addr), str(data)), )def __init__(self, sock, addr):threading.Thread.__init__(self)self.sock = sockself.addr = addr# 创建服务器套接字,绑定端口
ss = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
ss.bind(("127.0.0.1", 8888))
ss.listen(0)while True:sock, addr = ss.accept()CommThread(sock, addr).start()print("%s链接进来\r\n" % (str(addr)), )time.sleep(1)

 

  [TCP Client]

 

# -*-coding:utf-8-*-
"""TCP 协议的 Socket 编程,Client 端
"""
import threading
import socket
import time# 创建服务器套接字,绑定端口
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect(("127.0.0.1" , 8888))i = 1
while True:str = "tom%d\r\n" % (i)print ("client : " + str),sock.send(bytes(str,'utf-8'))time.sleep(1)i += 1

 

 


 

2. UDP 协议

  [UDP Server]

 

# -*-coding:utf-8-*-"""UDP 协议的 Socket 编程,Server 端
"""
import socket# 创建 UDP 接收方
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.bind(("192.168.13.6", 9999))i = 1
while True:data = sock.recv(4096)print(str(data))

 

  [UDP Client]

 

# -*-coding:utf-8-*-
"""UDP 协议的 Socket 编程,Client 端
"""import socket
import time# 创建 UDP 发送方
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.bind(("192.168.13.6", 8888))i = 1
while True:sock.sendto(bytes(("tom" + str(i)),'utf-8'), ("192.168.13.255", 9999))i += 1time.sleep(1)

 

 


 

转载于:https://www.cnblogs.com/share23/p/9822755.html


http://lihuaxi.xjx100.cn/news/236021.html

相关文章

CV05-ResNet笔记

目录 一、为什么是ResNet 二、Residual Learning细节 2.1 shortcut计算 2.2 11卷积调整channel维度大小 2.3 ResNet层数 2.4 ResNet里的Basic Block 和 Bottleneck Block 2.5 Global Average Pooling 全局平均池化 2.6 Batch Normalization 学习ResNet,记录…

一点感悟和自勉

来学习linux,其实目的很简单,也很现实,就是为了学成之后找一份好的工作,能够养家糊口。 接触了几天,感觉挺难的,可能是因为我没有基础的原因吧,以前电脑只是用来打游戏和看电影,第一…

复杂度归纳--小结

一、复杂度分析的4个概念1.最坏情况时间复杂度:代码在最理想情况下执行的时间复杂度。2.最好情况时间复杂度:代码在最坏情况下执行的时间复杂度。3.平均时间复杂度:用代码在所有情况下执行的次数的加权平均值表示。4.均摊时间复杂度&#xff…

CV06-Xception笔记

目录 一、为啥是Xception 二、Xception结构 2.1 Xception结构基本描述 2.2 实现细节 2.3 DeepLabV3改进 三、记录pytorch采坑relu激活函数inplaceTrue Xception笔记,记录一些自己认为重要的要点,以免日后遗忘。 复现Xception论文、DeepLabV改进的…

聊聊flink的HistoryServer

为什么80%的码农都做不了架构师?>>> 序 本文主要研究一下flink的HistoryServer HistoryServer flink-1.7.2/flink-runtime-web/src/main/java/org/apache/flink/runtime/webmonitor/history/HistoryServer.java public class HistoryServer {private st…

WPF的消息机制(二)- WPF内部的5个窗口之隐藏消息窗口

原文:WPF的消息机制(二)- WPF内部的5个窗口之隐藏消息窗口版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/powertoolsteam/article/details/6109036 目录 WPF的消息机制(一)-让…

【转载】Pytorch在加载模型参数时指定设备

转载 https://sparkydogx.github.io/2018/09/26/pytorch-state-dict-gpu-to-cpu/ >>> torch.load(tensors.pt) # Load all tensors onto the CPU >>> torch.load(tensors.pt, map_locationtorch.device(cpu)) # Load all tensors onto the CPU, using a fun…

20189317 《网络攻防技术》 第二周作业

一.黑客信息 (1)国外黑客 1971年,卡普尔从耶鲁大学毕业。在校期间,他专修心理学、语言学以及计算机学科。也就是在这时他开始对计算机萌生兴趣。他继续到研究生院深造。20世纪60年代,退学是许多人的一个选择。只靠知识…