zoukankan      html  css  js  c++  java
  • 计算机网络-实验一-socket编程TCP UDP

    UDPServer

    # coding=utf-8
    from socket import *
    
    serverPort = 12000
    serverSocket = socket(AF_INET, SOCK_DGRAM)  # 创建UDP socket
    serverSocket.bind(('', serverPort))  # 绑定socket 到本地端口 12000
    print("The server is ready to receive")
    while True:
        message, clientAddress = serverSocket.recvfrom(2048)  # UDP socket 读取 message, 获得(client IP and port)
        modifiedMessage = message.decode().upper()  # 打包大写的字符串
        serverSocket.sendto(modifiedMessage.encode(), clientAddress)
    

    UDPClient

    # coding=utf-8
    from socket import *
    
    serverName = '127.0.0.1'  # 可以是IP,也可以是主机名,若是主机名,会自动调用DNS解析
    serverPort = 12000
    clientSocket = socket(AF_INET, SOCK_DGRAM)  # 创建UDP socket#AF_INET表示IPv4协议,datagram表示数据块传输,即UDP
    message = input('Input lowercase sentence:')
    address=(serverName,serverPort)
    clientSocket.sendto(message.encode(),address)  # 编码并打包IP端口; 放到socket里
    # 端口进行打包,(自动把本地ip端口也打包了)
    modifiedMessage, serverAddress = clientSocket.recvfrom(2048)  # 读取返回的消息
    # 后面是缓存大小,只读取前2k字节的内容
    print(modifiedMessage.decode())  # 在屏幕上打印
    clientSocket.close()  # 关闭 socket
    

    在这里插入图片描述在这里插入图片描述
    TCPServer

    from socket import *
    
    serverPort = 12000
    serverSocket = socket(AF_INET, SOCK_STREAM)
    serverSocket.bind(('', serverPort))
    serverSocket.listen(1)
    print("The server is ready to receive")
    while True:
        connectionSocket, addr = serverSocket.accept()
        sentence = connectionSocket.recv(1024).decode()
        capitalizedSentence = sentence.upper()
        connectionSocket.send(capitalizedSentence.encode())
        connectionSocket.close()
    

    TCPClient

    from socket import *
    serverName = '127.0.0.1'
    serverPort = 12000
    clientSocket = socket(AF_INET, SOCK_STREAM)
    clientSocket.connect((serverName,serverPort))
    sentence = input('Input lowercase sentence:')
    clientSocket.send(sentence.encode())
    modifiedSentence = clientSocket.recv(1024)
    print ('From Server:', modifiedSentence.decode())
    clientSocket.close()
    

    在这里插入图片描述在这里插入图片描述

  • 相关阅读:
    6.12
    20121006晴
    6.11
    测试利器IL级别的Debug工具“Deblector1.1.1修改版”
    Windows Phone开发经验谈(15)动态的改变APP的字体大小
    windows8开发直播windows8商店开发者帐号注册过程(完)
    Windows Phone开发经验谈(13)华为网盘直链API调用
    windows8开发App审核折腾记
    Asp.net开发经验利用Aspose.Words按模板导出Word
    Windows Phone开发经验谈(17)两则改善用户体验的开发技巧
  • 原文地址:https://www.cnblogs.com/cxynb/p/12846182.html
Copyright © 2011-2022 走看看