TCP客户端

import socket
target_host="www.baidu.com"
target_port=80
client=socket.socket(socket.AF_INET,socket.SOCK_STREAM)            # 建立一个包含AF_INET,SOCK_STREAM参数的socket对象。其中AF_INET说明使用的是标准的IPv4,SOCK_STREAM(面向连接)说明这将是一个TCP客户端。
client.connect((target_host,target_port))                                            # 连接客户端
client.send("GET / HTTP/1.1\r\nHost: baidu.com\r\n\r\n")             # 发送一些数据
response=client.recv(6049)                                                                               # 接受一些数据
print response

UDP客户端

import socket
target_host="127.0.0.1"
target_port=80
client=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)              # 建立一个socket对象,套接字类型改为SOCK_DGRAM(非连接)
client.sendto( "AAABBBCCC",(target_host,target_port))                  # 调用 sendto()(发送UDP数据)函数将数据发送到想要发送的服务器上,因为UDP是无连接状态的传输协议
data,  addr=client.recvfrom(4096) # 调用recvfrom()(接受UDP数据,与recv()类似,但返回值是(data,address),其中data是包含接受数据的字符串,address是发送数据的套接字地址)接收返回的UDP数据包
print data

TCP服务器

import socket
import threading
bind_ip="0.0.0.0"
bind_port= 9999
server=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
server.bind((bind_ip,bind_port))                                                                        # 确定服务器需要监听的IP地址和端口
server.listen(5)                                                                                                             # 启动监听,并将最大连接数设为5
print "[*] Listening on %s:%d" % (bind_ip,bind_port)def handle_client(client_socket):                                                                       # 客户处理线程request=client_socket.recv(1024)                                                                     # 打印客户端发送的到的内容print "[*] Received: %s" % requestclient_socket.send("ACK!")                                                                                    # 返还一个数据包client_socket.close()
while True:                                                                                                                        # 让服务器进入主循环中,在这里等待连接client,addr=server.accept()                                                                             # 当一个客户端成功连接时候,接收到的客户端的套接字对象并保存在变量client中,将远程连接的细节保存在addr中print "[*] Accepted connection from: %s:%d" % (addr[0],addr[1])client_handler=threading.Thread(target=handle_client,args=(client,))        # 以handle_client函数作为回调函数创建一个新的线程对象,将客户端套接字作为一个句柄传递给它。client_handler.start()   

python创建简单的客户端和服务器相关推荐

  1. Python 实现简单的客户端认证

    更多编程教程请到:菜鸟教程 https://www.piaodoo.com/ 友情链接: 高州阳光论坛https://www.hnthzk.com/ 人人影视http://www.op-kg.com/ ...

  2. python编程例子 输入 输出-推荐 :手把手教你用Python创建简单的神经网络(附代码)...

    原标题:推荐 :手把手教你用Python创建简单的神经网络(附代码) 作者:Michael J.Garbade:翻译:陈之炎:校对:丁楠雅 本文共2000字,9分钟. 本文将为你演示如何创建一个神经网 ...

  3. python3socket非阻塞_利用Python中SocketServer 实现客户端与服务器间非阻塞通信

    利用SocketServer模块来实现网络客户端与服务器并发连接非阻塞通信. 首先,先了解下SocketServer模块中可供使用的类: BaseServer:包含服务器的核心功能与混合(mix-in ...

  4. pythontcp服务器如何关闭阻塞_利用Python中SocketServer 实现客户端与服务器间非阻塞通信...

    利用SocketServer模块来实现网络客户端与服务器并发连接非阻塞通信. 首先,先了解下SocketServer模块中可供使用的类: BaseServer:包含服务器的核心功能与混合(mix-in ...

  5. 独家 | 手把手教你用Python创建简单的神经网络(附代码)

    作者:Michael J.Garbade 翻译:陈之炎 校对:丁楠雅 本文共2000字,建议阅读9分钟. 本文将为你演示如何创建一个神经网络,带你深入了解神经网络的工作方式. 了解神经网络工作方式的最 ...

  6. python3socket非阻塞在linux里无效_利用Python中SocketServer实现客户端与服务器间非阻塞通信方法介绍...

    利用SocketServer模块来实现网络客户端与服务器并发连接非阻塞通信 首先,先了解下SocketServer模块中可供使用的类: BaseServer:包含服务器的核心功能与混合(mix-in) ...

  7. python简单代码-手把手教你用Python创建简单的神经网络(附代码)

    了解神经网络工作方式的***途径莫过于亲自创建一个神经网络,本文将演示如何做到这一点. 神经网络(NN)又称人工神经网络(ANN),是机器学习领域中基于生物神经网络概念的学习算法的一个子集. 拥有五年 ...

  8. Windows网络编程入门:简单的客户端和服务器通信程序调试

    昨日入手Windows网络编程经络这本书,第一章给了Echo客户端和服务器的简单通信实例程序.从小白到入门目测都是比较苦逼,居然想不到怎么来测试结果.什么同时运行啊.分别编译运行啊乱七八糟的想法就开始 ...

  9. Python网络编程【客户端与服务器通信】

    一.将数据写在发送语句中[传统方式] server端代码: import socket #服务器端将socket套接字赋给sock套接字 sock=socket.socket(socket.AF_IN ...

最新文章

  1. CUDA 8混合精度编程
  2. python写文件读文件-Python文件读写
  3. ARM汇编:汇编语言跳转指令: JMP、JECXZ、JA、JB、JG、JL、JE、JZ、JS、JC、JO、JP 等
  4. 如果你不喜欢让大人说你祝酒祝福
  5. Oracle expdp 导出
  6. 大文件表空间+创建大文件表空间+查询数据库表空间类型信息+查询数据库表空间类型信息...
  7. PHP7内核基础知识之变量类型
  8. HDU1285 确定比赛名次【拓扑排序】
  9. 这个软件真好用,让 iPhone 无线投屏到 Mac 上
  10. 7 HandlerSet 处理程序链表类——Live555源码阅读(一)基本组件类
  11. 带头节点的链式存储栈基本操作(进栈、出栈、获取栈顶元素)
  12. ANN to SNN
  13. 语音对话声空计算机APP,空空语音app
  14. php 查看文件信息,文件信息查看
  15. Java求时间差(日期差)
  16. u-boot-2012.04.01移植到TQ2440
  17. 十大最佳自动化测试工具
  18. 电子计算机与多媒体课件背景,演示型多媒体课件应用与设计原则
  19. ADONIS、ANOSIM、Mangel_test、MRPP
  20. 四种访问修饰符---(Java版)

热门文章

  1. Web学习日记Day01
  2. 迈克尔逊干涉计算光强matlab,迈克尔逊干涉仪的MATLAB仿真
  3. 二元逻辑回归 · 数学推导过程及代码实现完全解析
  4. 近期关于项目团队和小公司产品策略的一些想法
  5. 8750H带的动MATLAB2019吗,「多图」九代i7-9750H笔记本标压处理器与前代8750H性能对比...
  6. 答辩步骤及相关准备1
  7. ZUCC_BB平台-Quiz B-3-8-答案
  8. 程序员修炼之道---之小工到专家
  9. 北大各系女生评超短裙
  10. 真正具有OCR功能的扫描仪