收藏文章 楼主
版块:软件测试培训   类型:普通   作者:多测师   查看:7817   回复:0   获赞:0   时间:2021-08-23 10:10:03

1,socket的定义: Socket的英文原义是“孔”或“插座”,网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket;

建立网络通信连接至少要一对端口号(socket),socket本质是编程接口(API),对TCP/IP的封装,TCP/IP也要提供可供程序员做网络开发所用的接口,这就是Socket编程接口;HTTP是轿车,提供了封装或者显示数据的具体形式;Socket是发动机,提供了网络通信的能力;

套接字:源IP地址和目的IP地址以及源端口号和目的端口号的组合称为套接字;其用于标识客户端请求的服务器和服务;



2,python编写socket的步骤; 1) 创建socket对象,调用socket构造函数: socket = socket.socket( family, type ) 2) 将socket绑定到指定地址 socket.bind( address ) 3) 使用socket套接字的listen方法接收连接请求 socket.listen( backlog ) 4) 服务器套接字通过socket的accept方法等待客户请求一个连接 connection, address = socket.accept() 5) 处理阶段,服务器和客户端通过send和recv方法通信(传输 数据) send--发送信息, recv--接收数据; 6) 传输结束,服务器调用socket的close方法关闭连接;

3,python编写client的步骤: 1) 创建一个socket以连接服务器: socket = socket.socket( family, type ) 2) 使用socket的connect方法连接服务器 socket.connect( (host,port) ) 3) 处理阶段,客户和服务器将通过send方法和recv方法通信; 4) 传输结束,客户通过调用socket的close方法关闭连接;

4,服务端代码: #_*_ coding:utf-8 _*_ #服务端 #导入socket模块 import socket #创建TCP类型的socket host = '127.0.0.1' port = 8997 *端口号每连接一次换一个连就ok了! #建立一个socket对象,AF_INET说明将使用标准的IPv4地址,SOCK_STREAM说明是一个TCP客户端 s = socket.socket(socket.AF_INET,socket.SOCK_STREAM) s.bind((host, port)) s.listen(2) conn,addr= s.accept()#创建socket和客户端通信; while 1: print "Connected by",addr conn.sendall("yes sir") print conn.recv(1024) conn.close() # conn.sendall('reply')



5,客户端代码: #_*_ coding:utf-8 _*_ #客户端 #导入socket模块 import socket #创建TCP类型的socket c = socket.socket(socket.AF_INET, socket.SOCK_STREAM) #建立到指定IP地址,端口的TCP连接 c.connect(('127.0.0.1', 8997)) *端口号每连接一次换一个连就ok了! while 1: data = raw_input("please go out!:") c.send(data)#发送数据 result = c.recv(1024)#接受的结果传给result print result #输出接受到的结果 #关闭连接 c.close()

如需了解更多测试技术信息请关注: 深圳市多测师信息技术有限公司


全站外链: TEC传感器 | 猫掌外链
 
回复列表
默认   热门   正序   倒序

回复:用python实现socket编程

网站公告

近期本站被人为恶意注册及发布垃圾帖,每一个发帖都会经过审核,一经发现违法或垃圾帖的用户,帖子将被删除或封号,请大家共同维护互联网环境,共创美好互联网未来。

详细的发帖规则请阅读:

《小猪外链网发帖规则》

《小猪外链网最新金币规则》

注:本站严禁发布灰色违禁违法内容,如发现立刻永久封号,如开通会员的概不退款。

Powered by 小猪外链网 8.3.15

©2015 - 2025 小猪SEO外链平台

备案号:浙ICP备17015142号

免责申明:本网站内容由平台入驻会员撰写,除创始人账号外,其他观点仅代表作者本人,不代表小猪外链网立场。如果内容涉及侵犯其他公司、团体的利益、请联系小猪SEO外链网客服举证删除

您的IP:18.226.52.76,2025-05-01 11:17:04,Processed in 4.24077 second(s).

各位站长请准守小猪SEO外链网的发帖规则,文明理性发言

外链优化

用户名:

粉丝数:

签名:

资料 关注 好友 消息
分享
已有0次打赏