python Socket之客户端和服务端握手详解

 更新时间:2017年09月18日 10:47:09   作者:水桶前辈  
这篇文章主要为大家详细介绍了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连接截图如下

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • pytorch 实现计算 kl散度 F.kl_div()

    pytorch 实现计算 kl散度 F.kl_div()

    这篇文章主要介绍了pytorch 实现计算 kl散度 F.kl_div(),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05
  • PYTHON基础-时间日期处理小结

    PYTHON基础-时间日期处理小结

    PYTHON时间日期处理函数以datetime为中心, 起点或中转, 转化为目标对象, 涵盖了大多数业务场景中需要的日期转换处理,这里就为大家介绍一下,需要的朋友可以参考下
    2018-05-05
  • Python定时任务随机时间执行的实现方法

    Python定时任务随机时间执行的实现方法

    这篇文章主要介绍了Python定时任务随机时间执行的实现方法,文中给大家提到了python定时执行任务的三种方式 ,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-08-08
  • 基于Python制作一个汇率换算程序

    基于Python制作一个汇率换算程序

    这篇文章主要为大家详细介绍了如何利用Python语言制作一个汇率换算程序,文中的示例代码讲解详细,对我们学习Python有一定帮助,需要的可以参考一下
    2022-09-09
  • Python格式化字符串f-string简介

    Python格式化字符串f-string简介

    f-string,亦称为格式化字符串常量(formatted string literals),是Python3.6新引入的一种字符串格式化方法,这篇文章主要介绍了Python格式化字符串f-string概览,需要的朋友可以参考下
    2022-12-12
  • 使用Python OpenCV为CNN增加图像样本的实现

    使用Python OpenCV为CNN增加图像样本的实现

    这篇文章主要介绍了使用Python OpenCV为CNN增加图像样本的实现,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-06-06
  • python实现简单通讯录管理系统

    python实现简单通讯录管理系统

    这篇文章主要为大家详细介绍了python实现简单通讯录管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • 关于Python正则表达式模块之re模块

    关于Python正则表达式模块之re模块

    这篇文章主要介绍了关于Python正则表达式模块之re模块, re模块是Python中的重要组成部分,这里涉及到字符串的匹配,转换,自定义格式化等,需要的朋友可以参考下
    2023-04-04
  • Python中的random.uniform()函数教程与实例解析

    Python中的random.uniform()函数教程与实例解析

    今天小编就为大家分享一篇关于Python中的random.uniform()函数教程与实例解析,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • python实现TCP文件传输

    python实现TCP文件传输

    这篇文章主要为大家详细介绍了python实现TCP文件传输,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03

最新评论