您现在的位置: 主页 > 协议 > 6-25学习记录
本文所属标签:
为本文创立个标签吧:

6-25学习记录

来源:net 网络用户发布,如有版权联系网管删除 2018-07-12 

socket

网络编程,参考python核心编程2-4

tcp服务器模板:ss = socket()        #创建服务器套接字ss.bind()            #套接字与地址绑定ss.listen()          #监听连接inf_loop:            #服务器无限循环    cs = ss.accept()    #接受客户端连接    comm_loop:          #通信循环        cs.recv()/cs.send()    #对话(接受/发送)    cs.close()                 #关闭客户端套接字ss.close()                     #关闭服务器套接字

  

tcp客户端模板:cs = socket() #创建客户端套接字cs.connect() #尝试连接服务器comm_loop: #通信循环    cs.send()/cs.recv() #对话(发送/接收)cs.close() #关闭客户端 

  

以时间戳服务器举例

tcp时间戳服务器:

 1 from socket import * 2 import time 3  4 HOST = '' #HOST变量为空白表示它可以使用任何地址 5 PORT = 12181 #随机端口 6 BUFSIZ = 1024 #缓冲区大小 7 ADDR = (HOST,PORT) #地址 8  9 tcp_Service = socket(AF_INET,SOCK_STREAM,0) #分配tcp服务器套接字10 tcp_Service.bind(ADDR) #将套接字绑定到服务器上11 tcp_Service.listen(5) #开启tcp监听器12 13 while True: #无限循环14     print('正在运行。。。')15     tcpClisock, add = tcp_Service.accept() #接收数据16     print('连接来自:',add)17     while True: #无限循环18         data = tcpClisock.recv(BUFSIZ)19         if not data: #如果数据为空则断开连接20             break21 #        tcpClisock.send('[%s] %s' %(bytes(time.ctime,'utf-8'),data) #原档格式化转码有错误22         tcpClisock.send(('[%s] %s' %(time.ctime(),data)).encode()) #格式化数据并返回客户端23     tcpClisock.close() #更加优雅的退出方式

tcp时间戳客户端:

 1 from socket import * 2  3  4 HOST = 'localhost' #HOST为服务器地址,因为用的是本机测试所以地址为localhost 5 PORT = 12181 #为服务器开放端口 6 BUFSIZ = 1024 #缓冲区大小 7 ADDR = (HOST, PORT) #组合地址 8  9 tcpClisock = socket(AF_INET,SOCK_STREAM) #创建套接字10 tcpClisock.connect(ADDR) #尝试连接服务器11 12 while True: #通信循环13     data = input('> ') #14     if not data: #用户没有输入则终止连接15         break16     tcpClisock.send(data.encode()) #数据格式化发送服务器17     data = tcpClisock.recv(BUFSIZ) 18     if not data: #服务器无传回数据则终止连接19         break20     print(data.decode('utf-8')) #格式化打印传回数据21 tcpClisock.close() #优雅的结束客户端套接字

单词:

required 必须的

recv 接收

send 发送



              查看评论 回复



嵌入式交流网主页 > 协议 > 6-25学习记录
 服务器 客户端 套接字

网站地图

围观()