zoukankan      html  css  js  c++  java
  • python网络编程——TCP服务的简单实现

    TCP服务的简单实现过程分为服务端和客户端的实现,

    首先服务端的实现过程大致为

    ################
    ##TCP服务端结构##
    ################
    tcps = socket() #创建服务器套接字
    tcps.bind() #把地址绑定到套接字
    tcps.listen() #监听链接
    while True: #服务器无限循环
    tcpc = tcps.accept() #接受客户端链接
    while True: #通讯循环
    tcpc.recv()/tcpc.send() #对话(接收与发送)
    tcpc.close() #关闭客户端套接字
    tcps.close() #关闭服务器套接字(可选)

    下面放上代码:
    服务端的代码为
    #server.py
    import socket
    import sys
    
    # 创建socket对象
    serversocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    # SOCK_STREAM面向连接
    # 获取本地主机名
    host = socket.gethostname()
    
    port = 9999
    
    # 绑定端口
    serversocket.bind((host, port))
    # bind()绑定地址(host,port)到套接字,
    # 在AF_INET下,以元组(host, port)的形式表示地址
    
    # 设置最大连接数,超过后排队
    serversocket.listen(5)
    
    while True:
        # 建立客户端链接
        clientsocket, addr = serversocket.accept()
        # 被动接受TCP客户端链接,等待传入连接。
        # 返回代表连接的新套接字以及客户端的地址。
        # 对于IP套接字,地址信息是一对(hostaddr,端口)。
        print("链接地址: %s" % str(addr))
        msg = "欢迎访问翼下之风的博客!" + "
    "
        clientsocket.send(msg.encode('utf-8'))
        clientsocket.close()
    客户端的代码为 
    #client.py
    import socket
    import sys
    
    #创建socket对象
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    
    #获取本地主机名
    host = socket.gethostname()
    port = 9999
    
    #链接服务,指定主机和端口
    s.connect((host, port))
    
    #接收小于num_byte的数据
    num_byte = 1024
    msg = s.recv(num_byte)
    
    s.close()
    print(msg.decode('utf-8'))

    需要介绍的是,这两个程序如果在同一个主机上运行,那么可以看到服务端print出来的ip地址为127.0.0.1,这个IP地址是一个本主机内的环回地址,如果需要在局域网内的两个主机中分别运行这两个脚本,则需要将客户端中的

    host = socket.gethostname()

    修改为host = IP #ip为服务端所运行的主机的ip


    上述为个人学习笔记,欢迎学习交流,不当之处请留言,看到就修改,thanks for view

  • 相关阅读:
    SharePoint 2013 配置基于表单的身份认证
    SharePoint 2013 场解决方案包含第三方程序集
    SharePoint 2010 站点附加数据升级到SP2013
    SharePoint 2013 在母版页中插入WebPart
    SharePoint 2013 搭建负载均衡(NLB)
    SharePoint 部署解决方案Feature ID冲突
    SharePoint 2013 配置基于AD的Form认证
    SharePoint Server 2016 Update
    SharePoint 2013 为用户组自定义EventReceiver
    SharePoint 2013 JavaScript API 记录
  • 原文地址:https://www.cnblogs.com/wind-under-the-wing/p/12819590.html
Copyright © 2011-2022 走看看