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 相关文章推荐
Python3.x版本中新的字符串格式化方法
Apr 24 Python
浅谈python配置与使用OpenCV踩的一些坑
Apr 02 Python
Python实现查找字符串数组最长公共前缀示例
Mar 27 Python
对django后台admin下拉框进行过滤的实例
Jul 26 Python
python实现各种插值法(数值分析)
Jul 30 Python
keras 权重保存和权重载入方式
May 21 Python
python 元组的使用方法
Jun 09 Python
Keras预训练的ImageNet模型实现分类操作
Jul 07 Python
Python爬虫抓取指定网页图片代码实例
Jul 24 Python
通过实例了解python__slots__使用方法
Sep 14 Python
Python编程编写完善的命令行工具
Sep 15 Python
python获取字符串中的email
Mar 31 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中iconv函数使用方法
2008/05/24 PHP
php截取字符串函数substr,iconv_substr,mb_substr示例以及优劣分析
2014/06/10 PHP
php提交过来的数据生成为txt文件
2016/04/28 PHP
PHP微信开发之模板消息回复
2016/06/24 PHP
微信公众平台开发(五) 天气预报功能开发
2016/12/03 PHP
Zend Framework校验器Zend_Validate用法详解
2016/12/09 PHP
PHP设计模式入门之状态模式原理与实现方法分析
2020/04/26 PHP
laravel数据库查询结果自动转数组修改实例
2021/02/27 PHP
js传值 判断
2006/10/26 Javascript
JavaScript版DateAdd和DateDiff函数代码
2012/03/01 Javascript
JS远程获取网页源代码实例
2013/09/05 Javascript
javascript中apply和call方法的作用及区别说明
2014/02/14 Javascript
Web性能优化系列 10个提升JavaScript性能的技巧
2016/09/27 Javascript
JS实现静态页面搜索并高亮显示功能完整示例
2017/09/19 Javascript
JS去掉字符串中所有的逗号
2017/10/18 Javascript
Vue的事件响应式进度条组件实例详解
2018/02/04 Javascript
在Vue中使用echarts的方法
2018/02/05 Javascript
基于JavaScript实现留言板功能
2020/03/16 Javascript
微信小程序订阅消息(java后端实现)开发
2020/06/01 Javascript
vue项目中js-cookie的使用存储token操作
2020/11/13 Javascript
Python 专题四 文件基础知识
2017/03/20 Python
docker-py 用Python调用Docker接口的方法
2019/08/30 Python
python 导入数据及作图的实现
2019/12/03 Python
Docker如何部署Python项目的实现详解
2020/10/26 Python
css3 border-image使用说明
2010/06/23 HTML / CSS
CSS3支持IE6, 7, and 8的边框border属性
2012/12/28 HTML / CSS
澳大利亚婴儿礼品公司:The Baby Gift Company
2018/11/04 全球购物
eVitamins日本:在线购买折扣维生素、补品和草药
2019/04/04 全球购物
奥利奥广告词
2014/03/20 职场文书
校园安全标语
2014/06/07 职场文书
公司委托书格式范本
2014/09/16 职场文书
留学推荐信中文范文
2015/03/26 职场文书
应聘教师自荐信
2015/03/26 职场文书
Java实现聊天机器人完善版
2021/07/04 Java/Android
Log4j.properties配置及其使用
2021/08/02 Java/Android
Golang 对es的操作实例
2022/04/20 Golang