[读书笔记]python3.5实现socket通讯(TCP)
TCP连接:
tcp是面向连接的一个协议,意味着,客户端和服务器开发发送数据之前,需要先握手创建一个TCP连接。TCP连接的一端与客户端套接字相互联系,另一端与服务器套接字相联系。当创建该TCP连接的时,我们需要讲客户端与服务器的套接字地址(IP地址和端口号)关联起来。使用创建的TCP连接,当一侧要向另一侧发送数据的时候,它只需要经过其套接字将数据丢给TCP连接,不需要再次附上目的地址。
使用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个套接字即可。
[读书笔记]python3.5实现socket通讯(TCP)的更多相关文章
- [读书笔记]python3.5实现socket通讯(UDP)
		
UDP连接: 无连接,从一个端向另一端发送独立的数据分组 使用UDP连接的客户-服务器程序: UDPServer.py import socket serverPort = 50009 serverS ...
 - [Python3.x]python3.5实现socket通讯(TCP)
		
TCP连接: tcp是面向连接的一个协议,意味着,客户端和服务器开发发送数据之前,需要先握手创建一个TCP连接.TCP连接的一端与客户端套接字相互联系,另一端与服务器套接字相联系.当创建该TCP连接的 ...
 - [记读书笔]python3.5实现socket通讯(UDP)
		
UDP连接: 无连接,从一个端向另一端发送独立的数据分组 使用UDP连接的客户-服务器程序: UDPServer.py import socket serverPort = 50009 serverS ...
 - 《图解HTTP》读书笔记(一:网络基础TCP/IP)
		
好书什么时候开始读都不晚.作为一个测试人员,是一定要掌握一些网络的基础知识的.希望能够边读书边在这里记录笔记,便于加深理解以及日后查阅. 一.TCP/IP协议族 计算机与网络设备要互相通信,双方必须基 ...
 - 《TCP/IP具体解释》读书笔记(18章)-TCP连接的建立与中止
		
TCP是一个面向连接的协议.不管哪一方向还有一方发送数据之前.都必须在两方之间建立一条连接.这样的两端间连接的建立与无连接协议UDP不同.UDP向还有一端发送数据报时,无需不论什么预告的握手. 1.建 ...
 - 《TCP/IP详细说明》读书笔记(17章)-TCP传输控制协定
		
1.TCP的服务 在一个TCP连接中.仅有双方进行彼此通信. TCP通过下列方式来提供可靠性: 1)应用数据被切割成TCP觉得最适合发送的数据块. 这和UDP全然不同,应用程序产生的数据报长度保持不变 ...
 - go --socket通讯(TCP服务端与客户端的实现)
		
这篇文章主要使用Go语言实现一个简单的TCP服务器和客户端.服务器和客户端之间的协议是 ECHO, 这个RFC 862定义的一个简单协议.为什么说这个协议很简单呢, 这是因为服务器只需把收到的客户端的 ...
 - 《TCP/IP具体解释》读书笔记(22章)-TCP的坚持定时器
		
TCP通过让接收方指明希望从发送方接收的数据字节数(即窗体大小)来进行流量控制. 假设窗体大小为0会发生什么情况呢?这将有效阻止发送方传送数据,直到窗体变为非0为止. ACK的传输并不可靠,也就是说, ...
 - 《TCP/IP具体解释》读书笔记(21章)-TCP的超时与重传
		
TCP提供可靠的运输层. 它使用的方法之中的一个就是确认从还有一端收到的数据.但数据和确认都有可能会丢失.TCP通过在发送时设置一个定时器来解决这样的问题.假设当定时器溢出时还没有收到确认,它就重传该 ...
 
随机推荐
- Web API 2
			
Asp.Net Web API 2 官网菜鸟学习系列导航[持续更新中] 前言 本来一直参见于微软官网进行学习的, 官网网址http://www.asp.net/web-api.出于自己想锻炼一下学 ...
 - MongoDB应用介绍之前
			
MongoDb企业应用实战(一) 写在MongoDB应用介绍之前 故事背景: 本人有幸,经老友( 现为x知名快递公司技术总监 ) 推荐进入中国前三大民营快递公司之一工作,在此非常感谢他,在此也非常 ...
 - dtrace sample
			
#!/usr/sbin/dtrace -s #pragma D option flowindent /* monitor file open */ syscall::open:entry { prin ...
 - Show 一下最新的动态属性扩展功能与键值生成器功能
			
Show 一下最新的动态属性扩展功能与键值生成器功能 YbSoftwareFactory 各种插件的基础类库中又新增了两个方便易用的功能:动态属性扩展与键值生成器,本章将分别介绍这两个非常方便的组件. ...
 - python supervisor demo deployment
			
I did a demo about how to deploy other python apps served by a 'supervisord' daemon processor on git ...
 - Linux kill, killall, kill -9
			
tyle="margin: 20px 0px 0px; font-size: 14px; line-height: 26px; font-family: Arial;"> 附 ...
 - IOS开发笔记 - 基于SDWebImage的网络图片加载处理
			
前言: 在IOS下通过URL读一张网络图片并不像Asp.net那样可以直接把图片路径放到图片路径的位置就ok, 而是需要我们通过一段类似流的方式去加载网络图片,接着才能把图片放入图片路径显示. 这里找 ...
 - Web前端优化需要注意的点
			
关键在于:如何提高页面访问速度:如何减少服务器负载和带宽压力: 1. cache:包括数据库表的缓存,浏览器缓存,服务器端缓存(代理服务器缓存,CDN缓存,反向代理服务器缓存),web应用程 ...
 - android应用程序fps meter[帧数显示]的分析 —— 浅谈root的风险 (1)
			
fps meter是常用的检测帧率的软件,该软件需要root权限才能工作,一直比较好奇它一个apk是如何知道系统当前的帧率情况的,就针对此apk分析了一下其工作原理. Apk组成 首先看一下apk的组 ...
 - Google安全团队对Android安全的认识
			
http://commondatastorage.googleapis.com/io2012/presentations/live%20to%20website/107.pdf 看看google的攻城 ...