这篇文章主要为大家详细介绍了python Socket之客户端和服务端握手,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

简单的学习下利用socket来建立客户端和服务端之间的连接并且发送数据

1. 客户端socketClient.py代码

import socket

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# 建立连接:

s.connect(('127.0.0.1', 9999))

# 接收欢迎消息:

print(s.recv(1024).decode('utf-8'))

for data in [b'Michael', b'Tracy', b'Sarah']:

# 发送数据:

s.send(data)

print(s.recv(1024).decode('utf-8'))

s.send(b'exit')

s.close()

2. 服务端serverSocket.py代码

import socket

import threading

import time

# from threading import Thread

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# 监听端口:

s.bind(('127.0.0.1', 9999))

s.listen(5)

print('Waiting for connection...')

def tcplink(sock, addr):

print('Accept new connection from %s:%s...' % addr)

sock.send(b'Welcome!')

while True:

data = sock.recv(1024)

time.sleep(1)

if not data or data.decode('utf-8') == 'exit':

break

sock.send(('Hello, %s!' % data.decode('utf-8')).encode('utf-8'))

sock.close()

print('Connection from %s:%s closed.' % addr)

while True:

# 接受一个新连接:

sock, addr = s.accept()

# 创建新线程来处理TCP连接:

t = threading.Thread(target=tcplink, args=(sock, addr))

t.start()

3.操作过程

开两个控制台窗口,先运行服务端 python3 serverSocket.py

然后运行客户端 python3 socketClient.py

socket连接截图如下

php socket 握手,python Socket之客户端和服务端握手详细介绍相关推荐

  1. Python网络编程——客户端与服务端简单信息发送与接受

    python网络编程-服务端与客户端简单信息发送与接受 思考一下我们进行网络中信息通信都需要什么或者说需要具备什么条件才能进行网络通信? 首先我们需要知道给谁发送,也就是目标机是谁,然后我们需要知道对 ...

  2. QT中使用C++ socket通信,socket通信原理三次握手和四次握手详解、客户端与服务端实例详解

    对TCP/IP.UDP.Socket编程这些词你不会很陌生吧?随着网络技术的发展,这些词充斥着我们的耳朵.那么我想问: 1.         什么是TCP/IP.UDP? 2.         Soc ...

  3. 网络请求从客户端到服务端的详细过程

    此文目的把网络包端到端传输的流程串起来,篇幅较长,起到抛砖引玉的作用. 为什么需要网络? 就算开发单机游戏也会用到网络,比如充值.上报玩家行为日志.上报BUG等 那么两个设备之间是如何通过网络进行通信 ...

  4. 【学习笔记】在windows下进行基于TCP的本地客户端和服务端socket通信

    文章目录 socket介绍 java中使用socket 基于tcp的socket通信 使用ServerSocket类创建一个web服务器:(java) windows下的基于tcp的socket编程( ...

  5. php winform通信,C# Winform 通过Socket实现客户端和服务端TCP通信

    操作界面如下: 1.声明Socket 第一个参数:寻址方式,第二个参数:传输数据的方式,第三个参数:通信协议 Socket socket = new Socket(AddressFamily.Inte ...

  6. 基于Socket实现客户端与服务端通讯

    基于Socket实现客户端与服务端通讯 socket 概述 Socket,套接字就是两台主机之间逻辑连接的端点.TCP/IP协议是传输层协议,主要解决数据如何 在网络中传输,而HTTP是应用层协议,主 ...

  7. 为什么 TCP 三次握手期间,客户端和服务端的初始化序列号要求不一样?

    大家好,我是小林. 为什么 TCP 三次握手期间,客户端和服务端的初始化序列号要求不一样的呢? 接下来,我一步一步给大家讲明白,我觉得应该有不少人会有类似的问题,所以今天在肝一篇! 正文 为什么 TC ...

  8. linux epoll机制对TCP 客户端和服务端的监听C代码通用框架实现

    1 TCP简介 tcp是一种基于流的应用层协议,其"可靠的数据传输"实现的原理就是,"拥塞控制"的滑动窗口机制,该机制包含的算法主要有"慢启动&quo ...

  9. QT中使用C++ socket通信(了解socket通信、socket的三次握手和四次挥手、socket函数说明、客户端与服务端的代码实例)

    一.TCP/IP协议四个抽象层: 二.socket位置 socket就在应用程序的传输层和应用层之间,传输层的底一层的服务提供给socket抽象层,socket抽象层再提供给应用层. 三.socket ...

最新文章

  1. 在Ubuntu 12.04 桌面上设置启动器(快捷方式)
  2. 全网最简单的dubbo源码调试,建议点赞收藏!!!
  3. 再谈移动端Web屏幕适配
  4. ASP.NET MVC – 关于Action返回结果类型的事儿(上)
  5. Mac bower install bootstrap bug解决
  6. 转:Python: threading.local是全局变量但是它的值却在当前调用它的线程当中
  7. 解决 No module named ‘tensorflow.examples.tutorials‘
  8. 运动会计算机系,秋季运动会计算机系总结计划 (12页)-原创力文档
  9. 转载一个 mui 等待动画 mui.showLoading
  10. Ubuntu 14.04 安装TM2009/QQ
  11. MCMC算法深入理解
  12. 英特尔核显自定义分辨率_英特尔核芯显卡设置如何操作【图文】
  13. LATEX Mathematical Symbols
  14. Apache虚拟主机配置
  15. 篮球图片html页面代码,教你用PS制作一个非常逼真的篮球图片
  16. 让你瞬间清醒的句子有哪些?
  17. 直流电机驱动电路中L298与电机间二极管的作用
  18. Abnormal Activity Detection Using Pyroelectric Infrared Sensors
  19. 杂项-操作系统:操作系统百科
  20. 1. 数据库的四个基本概念

热门文章

  1. 走在程序世界道路上的我___大一篇
  2. SQL 批量插入有标识列的数据
  3. Setting composer minimum stability for your application
  4. English Notes
  5. Linux开发常见问题:GCC:链接器输入文件未使用,因为链接尚未完成
  6. 一个 .Net Hashtable 的锁的疑惑和解决
  7. Some thoughts on my own O/R Mapping or Code Generation tools
  8. 域用户绑定计算机批量设置,Windows 2008 AD域账户与计算机名批量绑定
  9. 我的世界梦之边缘5服务器在维护吗,8月5日服务器例行维护公告(已完成)
  10. vue 使用了浏览器的刷新之后报错_Laravel 7 + vue.js 学习笔记(一)