学习笔记-- Python网络编程

TCP编程-- server

 1 import socket, threading, time
 2
 3 def dealClient(sock, addr):
 4     print(‘Accept new connection from %s:%s...‘ % addr)
 5     sock.send(b‘Hello, I am server!‘)  # 给client端发送数据
 6     while True:
 7         data = sock.recv(1024)  # 接收client发过来的数据
 8         time.sleep(1)
 9         if not data or data.decode(‘utf-8‘) == ‘exit‘:
10             break
11         print(‘-->> %s !‘ % data.decode(‘utf-8‘))
12         sock.send((‘Loop_Msg: %s !‘ % data.decode(‘utf-8‘)).encode())   # 发送数据给client
13     sock.close()
14     print(‘Connection from %s:%s closed‘ % addr)
15
16 if __name__ == ‘__main__‘:
17     # 创建socket并绑定IP
18     s = socket.socket()
19     s.bind((‘127.0.0.1‘, 9999))
20     s.listen()   # 启用监听
21     print(‘Waiting for connection...‘)
22     while True:
23         sock, addr = s.accept()  # 接收一个新的连接
24         t = threading.Thread(target = dealClient, args = (sock, addr))  #创建新的线程来处理TCP连接
25         t.start()

TCP编程-- client

1 import socket
2
3 s = socket.socket()
4 s.connect((‘127.0.0.1‘, 9999))  # 建立连接
5 print(‘-->>‘ + s.recv(1024).decode(‘utf-8‘)) # 接收消息
6 s.send(b‘Hello, I am a client‘)
7 print(‘-->>‘ + s.recv(1024).decode(‘utf-8‘))
8 s.send(b‘exit‘)  # 发送消息
9 s.close()

代码摘自 Python爬虫开发与项目实战--  机械工业出版社

原文地址:https://www.cnblogs.com/loayi/p/9025788.html

时间: 2024-08-27 22:48:50

学习笔记-- Python网络编程的相关文章

Linux程序设计学习笔记----Socket网络编程基础之TCP/IP协议簇

转载请注明出处: ,谢谢! 内容提要 本节主要学习网络通信基础,主要涉及的内容是: TCP/IP协议簇基础:两个模型 IPv4协议基础:IP地址分类与表示,子网掩码等 IP地址转换:点分十进制\二进制 TCP/IP协议簇基础 OSI模型 我们知道计算机网络之中,有各种各样的设备,那么如何实现这些设备的通信呢? 显然是通过标准的通讯协议,但是,整个网络连接的过程相当复杂,包括硬件.软件数据封包与应用程序的互相链接等等,如果想要写一支将联网全部功能都串连在一块的程序,那么当某个小环节出现问题时,整只

python学习笔记11 ----网络编程

网络编程 网络编程需要知道的概念 1.网络体系结构就是使用这些用不同媒介连接起来的不同设备和网络系统在不同的应用环境下实现互操作性,并满足各种业务需求的一种粘合剂.网络体系结构解决互质性问题彩是分层方法. 网络(OSI)的7层模型: 应用层--->为应用程序提供网络通信服务 表示层--->数据表示 会话层--->主机间通信(两个应用进程间) 传输层--->端到端的连接,隔离网络的上下层协议,使得网络应用与下层协议无关 网络层--->寻找最优路径,转发数据包 数据链路层---&

nodejs学习笔记之网络编程

了解一下OSI七层模型 OSI层 功能 TCP/IP协议 应用层 文件传输,电子邮件,文件服务,虚拟终端  TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 表示层 数据格式化,代码转换,数据加密 - 会话层 数据格式化,代码转换,数据加密 - 传输层 提供端对端的接口 TCP,UDP 网络层 为数据包选择路由 IP,ICMP,RIP,OSPF,BGP,IGMP 数据链路层 传输有地址的帧以及错误检测功能 SLIP,CSLIP,PPP,ARP,RARP,MTU 物理层  以二

Python学习笔记之网络编程

操作MySQL # 断言 assert(1==1) ############################################################################# ******************************************************************** # 创建Connection * ------------------------------------------------------------

python 3.x 学习笔记13 (网络编程socket)

1.协议http.smtp.dns.ftp.ssh.snmp.icmp.dhcp....等具体自查 2.OSI七层应用.表示.会话.传输.网络.数据链路.物理 3.socket: 对所有上层协议的封装 4.socket常用功能1)sk.bind(address) s.bind(address) 将套接字绑定到地址.address地址的格式取决于地址族.在AF_INET下,以元组(host,port)的形式表示地址. 2)sk.listen(backlog) 开始监听传入连接.backlog指定在

JavaSE 学习笔记之网络编程(二十三)

端口: 物理端口: 逻辑端口:用于标识进程的逻辑地址,不同进程的标识:有效端口:0~65535,其中0~1024系统使用或保留端口. java 中ip对象:InetAddress. import java.net.*; class  IPDemo{ public static void main(String[] args) throws UnknownHostException{ //通过名称(ip字符串or主机名)来获取一个ip对象. InetAddress ip = InetAddress

《Python网络编程基础》笔记

主要是关于<Python网络编程笔记>这本书的笔记...可能有点乱... 总共包含6个部分.. 第一部分 第1章:客户/服务器网络介绍 未完待续.....

Hadoop学习笔记(7) ——高级编程

Hadoop学习笔记(7) ——高级编程 从前面的学习中,我们了解到了MapReduce整个过程需要经过以下几个步骤: 1.输入(input):将输入数据分成一个个split,并将split进一步拆成<key, value>. 2.映射(map):根据输入的<key, value>进生处理, 3.合并(combiner):合并中间相两同的key值. 4.分区(Partition):将<key, value>分成N分,分别送到下一环节. 5.化简(Reduce):将中间结

C++ Primer 学习笔记_66_面向对象编程 --定义基类和派生类[续]

算法旨在用尽可能简单的思路解决问题,理解算法也应该是一个越看越简单的过程,当你看到算法里的一串概念,或者一大坨代码,第一感觉是复杂,此时不妨从例子入手,通过一个简单的例子,并编程实现,这个过程其实就可以理解清楚算法里的最重要的思想,之后扩展,对算法的引理或者更复杂的情况,对算法进行改进.最后,再考虑时间和空间复杂度的问题. 了解这个算法是源于在Network Alignment问题中,图论算法用得比较多,而对于alignment,特别是pairwise alignment, 又经常遇到maxim