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接收Gmail新邮件并发送到gtalk的方法
Mar 10 Python
Java Web开发过程中登陆模块的验证码的实现方式总结
May 25 Python
windows下Python实现将pdf文件转化为png格式图片的方法
Jul 21 Python
Python批量合并有合并单元格的Excel文件详解
Apr 05 Python
pytorch + visdom 处理简单分类问题的示例
Jun 04 Python
Python3中的列表生成式、生成器与迭代器实例详解
Jun 11 Python
python logging重复记录日志问题的解决方法
Jul 12 Python
解决python明明pip安装成功却找不到包的问题
Aug 28 Python
PyTorch里面的torch.nn.Parameter()详解
Jan 03 Python
python GUI库图形界面开发之PyQt5开发环境配置与基础使用
Feb 25 Python
Python入门基础之数字字符串与列表
Feb 01 Python
python基础之模块的导入
Oct 24 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 伪静态技术原理以及突破原理实现介绍
2013/07/12 PHP
YII2框架中excel表格导出的方法详解
2017/07/21 PHP
ajax+php实现无刷新验证手机号的实例
2017/12/22 PHP
PHP+MySQL实现消息队列的方法分析
2018/05/09 PHP
Javascript this关键字使用分析
2008/10/21 Javascript
jQuery Ajax 全解析
2009/02/08 Javascript
复制网页内容,粘贴之后自动加上网址的实现方法(脚本之家特别整理)
2014/10/16 Javascript
JS实现当前页居中分页效果的方法
2015/06/18 Javascript
根据user-agent判断蜘蛛代码黑帽跳转代码(js版与php版本)
2015/09/14 Javascript
js剪切板应用clipboardData实例解析
2016/05/29 Javascript
AngularJS 单元测试(二)详解
2016/09/21 Javascript
jQuery中clone()函数实现表单中增加和减少输入项
2017/05/13 jQuery
浅析JavaScript中的平稳退化(graceful degradation)
2017/07/24 Javascript
简述JS控制台的使用
2018/07/15 Javascript
Vue中的$set的使用实例代码
2018/10/08 Javascript
Vue结合后台导入导出Excel问题详解
2019/02/19 Javascript
深入理解Node内建模块和对象
2019/03/12 Javascript
浅析vue插槽和作用域插槽的理解
2019/04/22 Javascript
解决layui调用自定义方法提示未定义的问题
2019/09/14 Javascript
如何使用three.js 制作一个三维的推箱子游戏
2020/07/29 Javascript
Python算法之栈(stack)的实现
2014/08/18 Python
利用Python抓取行政区划码的方法
2016/11/28 Python
Python 正则表达式入门(初级篇)
2016/12/07 Python
Python3中对json格式数据的分析处理
2021/01/28 Python
HTML5印章绘制电子签章图片(中文英文椭圆章、中文英文椭圆印章)
2019/06/03 HTML / CSS
html5实现微信打飞机游戏
2014/03/27 HTML / CSS
雅诗兰黛旗下走天然植物路线的彩妆品牌:Prescriptives
2016/08/14 全球购物
网站域名和主机:Domain.com
2019/04/01 全球购物
英国时尚和家居用品零售商:Matalan
2021/02/28 全球购物
财务出纳员岗位职责
2013/11/26 职场文书
倡导文明标语
2014/06/16 职场文书
2014年酒店工作总结与计划
2014/11/17 职场文书
幽默导游词开场白
2015/05/29 职场文书
理想国读书笔记
2015/06/25 职场文书
2016大学生求职自荐信范文
2016/01/28 职场文书
nginx实现发布静态资源的方法
2021/03/31 Servers