• Python中的网络编程


    TCPServer端:

    __author__ = 'Nature'
    # -*- coding: utf-8 -*-
    from socket import *
    from time import ctime
    HOST = ''
    PORT = 21567
    BUFSIZ=1024
    ADDR = (HOST,PORT)
    
    tcpserver = socket(AF_INET,SOCK_STREAM)
    tcpserver.bind(ADDR)
    tcpserver.listen(5)
    
    while True:
        print("waiting for connection....")
        tcpclient ,addr = tcpserver.accept()
        print('...connected from:',addr)
        while True:
            data = tcpclient.recv(BUFSIZ)
            if not data:
                break
            tcpclient.send(('[%s]%s'%(ctime(),data)).encode())
        tcpclient.close()
    tcpserver.close()
    

    TCPclient端:

    __author__ = 'Nature'
    # -*- coding: utf-8 -*-
    from socket import *
    
    HOST ='127.0.0.1'
    PORT = 21567
    BUFSIZE = 1024
    ADDR = (HOST,PORT)
    
    tcpclient = socket(AF_INET,SOCK_STREAM)
    tcpclient.connect(ADDR)
    
    while True:
        data = input('>')
        if not data:
            break
        tcpclient.send(data.encode())
        data = tcpclient.recv(BUFSIZE)
        if not data:
            break
        print(data)
    tcpclient.close()
    

    UDPserver端:

    __author__ = 'Nature'
    # -*- coding: utf-8 -*-
    from socket import *
    from time import ctime
    HOST = ''
    PORT = 21567
    BUFSIZ=1024
    ADDR = (HOST,PORT)
    
    tcpserver = socket(AF_INET,SOCK_DGRAM)
    tcpserver.bind(ADDR)
    
    while True:
        print("waiting for message....")
        tcpclient ,addr = tcpserver.recvfrom(BUFSIZ)
        tcpserver.sendto(('[%s]%s'%(ctime(),tcpclient)).encode(),addr)
        print('...receive from and returned to:',addr)
    tcpserver.close()
    

      

    UDPclient端:

    __author__ = 'Nature'
    # -*- coding: utf-8 -*-
    from socket import *
    
    HOST ='127.0.0.1'
    PORT = 21567
    BUFSIZE = 1024
    ADDR = (HOST,PORT)
    
    udpclient = socket(AF_INET,SOCK_DGRAM)
    
    while True:
        data = input('>')
        if not data:
            break
        udpclient.sendto(data.encode(),ADDR)
        data,ADDR = udpclient.recvfrom(BUFSIZE)
        if not data:
            break
        print(data)
    udpclient.close()
    

      

  • 相关阅读:
    《JavaScript & jQuery交互式Web前端开发》之JavaScript基础指令
    hash_map原理及C++实现
    开源大数据引擎:Greenplum 数据库架构分析
    摆脱命令行,Ubuntu下配置Android开发环境
    JS学习十四天----server端运行JS代码
    【苦读官方文档】2.Android应用程序基本原理概述
    UVA
    android页面间传递对象
    大话设计模式C++版——建造者模式
    poj 3370 Halloween treats
  • 原文地址:https://www.cnblogs.com/HCT118/p/5876765.html
Copyright © 2020-2023  润新知