python3.5实现socket通讯示例(TCP)


Posted in Python onFebruary 07, 2017

TCP连接:

tcp是面向连接的一个协议,意味着,客户端和服务器开发发送数据之前,需要先握手创建一个TCP连接。TCP连接的一端与客户端套接字相互联系,另一端与服务器套接字相联系。当创建该TCP连接的时,我们需要讲客户端与服务器的套接字地址(IP地址和端口号)关联起来。使用创建的TCP连接,当一侧要向另一侧发送数据的时候,它只需要经过其套接字将数据丢给TCP连接,不需要再次附上目的地址。

使用TCP连接的客户-服务器程序:

python3.5实现socket通讯示例(TCP)

TCPServer.py

import socket

import socketserver

import time

import threading

 

serverPort = 50007

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

serverSocket.bind (('',serverPort))

serverSocket.listen(1)

print('The server is ready to receive')

while 1:

  connectionSocket,addr = serverSocket.accept()

  sentence = connectionSocket.recv(1024)

  capitalizedSentence = sentence.upper()

  connectionSocket.send(capitalizedSentence)

  connectionSocket.close()

TCPClient.py

from socket import *

serverName = '127.0.0.1'

serverPort = 50007

clientSocket =socket(AF_INET,SOCK_STREAM)

clientSocket.connect((serverName,serverPort))

sentence = input('Input lowercase sentence:')

clientSocket.send(sentence.encode())

modifiedSentence = clientSocket.recv(1024)

print('From Server:',modifiedSentence.decode())

clientSocket.close()

注意:

1、客户端能够使用一个TCP套接字向服务器发送数据之前,必须在客户端与服务器之间创建一个TCP连接;

2、clientSocket.connect((serverName,serverPort)):执行三次握手,创建TCP连接;

3、clientSocket.close():关闭客户端和服务器之间的TCP连接;

4、connectionSocket.close():向客户端发送完毕之后关闭该连接套接字

TCP连接需要两个套接字,UDP只要一个,

TCP服务器支持n个并行连接,每条连接来自不同客户端,TCP连接需要n+1个套接字即可。

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

Python 相关文章推荐
python通过imaplib模块读取gmail里邮件的方法
May 08 Python
Python实现查看系统启动项功能示例
May 10 Python
Python中list的交、并、差集获取方法示例
Aug 01 Python
使用虚拟环境打包python为exe 文件的方法
Aug 29 Python
Python脚本实现Zabbix多行日志监控过程解析
Aug 26 Python
浅析PyCharm 的初始设置(知道)
Oct 12 Python
python中的split、rsplit、splitlines用法说明
Oct 23 Python
Python numpy大矩阵运算内存不足如何解决
Nov 19 Python
详解Python中@staticmethod和@classmethod区别及使用示例代码
Dec 14 Python
教你怎么用Python操作MySql数据库
May 31 Python
浅谈Python数学建模之数据导入
Jun 23 Python
Pandas自定义选项option设置
Jul 25 Python
Python中字典的setdefault()方法教程
Feb 07 #Python
Python连接数据库学习之DB-API详解
Feb 07 #Python
使用Python中的tkinter模块作图的方法
Feb 07 #Python
Scrapy-redis爬虫分布式爬取的分析和实现
Feb 07 #Python
详解python中字典的循环遍历的两种方式
Feb 07 #Python
python3使用PyMysql连接mysql数据库实例
Feb 07 #Python
Python处理文本文件中控制字符的方法
Feb 07 #Python
You might like
PHP编实现程动态图像的创建代码
2008/09/28 PHP
thinkphp模板输出技巧汇总
2014/11/24 PHP
PDO::getAvailableDrivers讲解
2019/01/28 PHP
php设计模式之适配器模式实例分析【星际争霸游戏案例】
2020/04/07 PHP
如何实现iframe(嵌入式帧)的自适应高度
2006/07/26 Javascript
Egret引擎开发指南之编译项目
2014/09/03 Javascript
浅谈jQuery中 wrap() wrapAll() 与 wrapInner()的差异
2014/11/12 Javascript
jquery简单实现图片切换效果的方法
2015/05/12 Javascript
常用jQuery代码分享
2015/07/14 Javascript
javascript中判断json的方法总结
2015/08/27 Javascript
详细探究ES6之Proxy代理
2016/07/22 Javascript
jQuery内容过滤选择器用法示例
2016/09/09 Javascript
BootStrap实现手机端轮播图左右滑动事件
2016/10/13 Javascript
JavaScript重定向URL参数的两种方法小结
2016/10/19 Javascript
JavaScript 身份证号有效验证详解及实例代码
2016/10/20 Javascript
jQuery插件HighCharts实现气泡图效果示例【附demo源码】
2017/03/13 Javascript
基于jquery实现二级联动效果
2017/03/30 jQuery
基于javascript的异步编程实例详解
2017/04/10 Javascript
详解Angular2 关于*ngFor 嵌套循环
2017/05/22 Javascript
node.js将MongoDB数据同步到MySQL的步骤
2017/12/10 Javascript
vue2.0 实现导航守卫(路由守卫)
2018/05/21 Javascript
javascript代码实现简易计算器
2021/01/25 Javascript
python两种遍历字典(dict)的方法比较
2014/05/29 Python
Fiddler如何抓取手机APP数据包
2016/01/22 Python
pyqt5对用qt designer设计的窗体实现弹出子窗口的示例
2019/06/19 Python
如何基于Python制作有道翻译小工具
2019/12/16 Python
Python+PyQt5实现灭霸响指功能
2020/05/25 Python
Python os库常用操作代码汇总
2020/11/03 Python
Wiggle中国:英国骑行、跑步、游泳 & 铁三运动装备专卖网店
2016/08/02 全球购物
加拿大女装网上购物:Reitmans
2016/10/20 全球购物
俄罗斯的精英皮具:Wittchen
2018/01/29 全球购物
世界上最具创新性的增强型知名运动品牌:Proviz
2018/04/03 全球购物
美国中西部家用医疗设备商店:Med Mart(轮椅、踏板车、升降机等)
2019/04/26 全球购物
公务员职务工作的自我评价
2013/11/01 职场文书
人民教师求职自荐信
2014/03/12 职场文书
红领巾广播站广播稿
2014/10/19 职场文书