【学习笔记】Python网络编程(二)socket处理多个连接

贴代码,server端:

import socket
# s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
host =  ‘‘
port = 6074
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.bind((host,port))
s.listen(1)
while 1:
    conn,addr = s.accept()
    while 1:
        print (‘connected by‘,addr)
        data = conn.recv(1024)
        if not data:break
        conn.sendall(data)
conn.close()

客户端:

import socket
# s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
host =  ‘‘
port = 6074
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.bind((host,port))
s.listen(1)
while 1:
    conn,addr = s.accept()
    while 1:
        print (‘connected by‘,addr)
        data = conn.recv(1024)
        if not data:break
        conn.sendall(data)
conn.close()

for循环是在一个线程下执行,不同于多线程。

时间: 2024-08-05 19:52:09

【学习笔记】Python网络编程(二)socket处理多个连接的相关文章

学习笔记-- 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.sl

python 网络编程:socket和select实现伪并发

上节地址:Python网络编程:socket 先补充点内容: 一.send和sendall区别 send,sendall ret = send('safagsgdsegsdgew') #send 发送完成后会有一个返回值,告知发送了多少,并不一定会把数据全部发送过去. sendall:内部调用send,将数据全部发送完为止. 因此我们使用时最好使用sendall 二.粘包 粘包问题需要理解recv()的使用,我们定义接收值的时候会写recv(1024)表示一次接收1024字节,但是有时候接收的数

python 网络编程:socket

在学习socket之前,我们先复习下相关的网络知识. OSI七层模型:应用层,表示层,会话层,传输层,网络层,数据链路层,物理层.OSI七层模型是由国际标准化组织ISO定义的网络的基本结构,不仅包括一些概念和结构,还包括一系列的协议. TCP/IP四层模型:既然有OSI七层模型,为什么我们还要定义一个TCP/IP的四层模型呢,那是因为OSI七层模型对应面过于宽泛,很多概念实现不了,也没必要实现,因此,实际生产中广泛应用的是TCP/IP四层结构,他们的对应关系如下表: TCP/IP OSI 应用层

python 网络编程(Socket)

# from wsgiref.simple_server import make_server## def RunServer(environ,start_response):# start_response(status='200 OK',headers=[('Content-Type','text/html')])# url=environ['PATH_INFO']## return "guozhendong"## if __name__=='__main__':# httpd=m

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 物理层  以二

JAVA学习之TCP网络编程,Socket使用

ServerSocket 此类实现服务器套接字. ServerSocket常用的构造方法有以下几个, ServerSocket() 创建非绑定服务器套接字. ServerSocket(int port) 创建绑定到特定端口的服务器套接字. ServerSocket(int port, int backlog) 利用指定的 backlog 创建服务器套接字并将其绑定到指定的本地端口号. ServerSocket(int port, int backlog, InetAddress bindAddr

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指定在

Python学习笔记之网络编程

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