《计算机网络-自顶向下(中文第六版)P108》-基于python3单台主机的UDP(客户机/服务机)实验

一、客户机

打开cmd使用ipconfig指令查询自己电脑的ip地址

serverName = 本机ip地址

注意,报文在UDP中传输是bytes类型,因此需要将输入的字符串编码成bytes型(encode)

读出服务器处理完成的报文,再解码(decode)为字符串

from socket import *
serverName = "192.128.3.204"
serverPort = 12000
clientSocket = socket(AF_INET,SOCK_DGRAM)
message = input("Input lowercase sentence:")
message = message.encode()
clientSocket.sendto(message, (serverName, serverPort))
modifiedMessage,serverAddress = clientSocket.recvfrom(2048)
modifiedMessage = modifiedMessage.decode()
print(modifiedMessage)
print(serverAddress)
clientSocket.close()

二、服务机

from socket import *
serverPort = 12000
serverSocket = socket(AF_INET, SOCK_DGRAM)
serverSocket.bind(("",serverPort))
print("The server is ready to receive")
while True:
   message,clientAddress = serverSocket.recvfrom(2048)
   modifiedMessage = message.upper()
   serverSocket.sendto(modifiedMessage,clientAddress)

三、同时运行两个代码文件

原文地址:https://www.cnblogs.com/cnlntr/p/12585140.html

时间: 2024-10-05 14:36:05

《计算机网络-自顶向下(中文第六版)P108》-基于python3单台主机的UDP(客户机/服务机)实验的相关文章

计算机网络——自顶向下方法(第六版) 课后题 第五章

5.1~5.2节 R1.运输方式 R2.不是,当链路出现瘫痪时,链路层不能保证安全运输 R3.成帧(ip,tcp),链路接入,可靠交付(tcp),差错检测和纠正(tcp) 5.3节 R4.不会,传播时延小于传输时延,在下一帧从路由交换出来时,上一帧已经传播到下一路由. R5.(1)只有一个结点发送数据时,有R的吞吐量 (2)有大量结点传输时,效率仅为0.37R (3)(4)该协议是分散且简单的. 令牌:(1)有R的吞吐量 (2)能保持R/m速率 (3)(4)分散且简单的 R6.1/2^5=1/3

计算机网络——自顶向下方法(第六版) 课后题 第二章

2.1节 R1.电子邮件:SMTP,远程终端访问:Telnet,Web:HTTP,文件传输:FTP,流式多媒体:HTTP,因特网电话:SIP R2.在应用程序研发者来看,网络体系结构是固定的,并为应用程序提供了特定的服务集合.应用程序体系结构由应用研发者规定了如何在端系统上组织该应用程序. R3.总是打开的是web服务器,通过web访问的是客户. R4.同意,在p2p体系结构中,每个主机都是对等的,他们之间直接通信. R5.IP地址,端口号. R6.TCP,数据不能丢失,udp不可靠,无保障.

《计算机网络自顶向下方法-第七版》第一章总结

1. 什么是Internet 1.1 Internet概述 Internet用于将世界上各种各样的终端设备(hosts或者end systems)连接到一起,各种设备通过communication links以及packet switches进行连接.communication links具有各种不同的材质,因而有着不同的传输速率,packet switch从coming communication links获取数据包并发送到一个outgoing communication link中.pac

nginx服务做用户认证和基于域名的虚拟主机

实验一.用nginx怎么实现用户访问时的认证 一.目标        通过调整Nginx服务端配置,实现以下目标: 访问Web页面需要进行用户认证 用户名为:tom,密码为:123456 二.方案         通过Nginx实现Web页面的认证,需要修改Nginx配置文件,在配置文件中添加auth语句实现用户认证.    最后使用htpasswd命令创建用户及密码即可,服务端:192.168.4.102,客户端:192.168.4.101 三.实施步骤(nginx服务安装见我的"搭建ngin

计算机网络知识点总结(第六版,谢希仁)

计算机网络知识点总结 1.三网:现如今最重要的三种网络 电信网络(电话网) 有线电视网络(电视网) 计算机网络(发展最快,信息时代的核心技术,连通性,共享)1.1. 计算机网络的定义:是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统. 2.internet 和 Internet 1)internet 是普通名词 泛指一般的互连网(互联网) 2)Internet 是专有名词,

C++ Primer Plus 第六版 第16章 string类和标准模板库

1.string实际上是模板具体化basic_string<char> 的一个typedef,有默认参数,所以省略了初始化参数 2.size_type是一个依赖于实现的整形 string将string::npos定义为字符串的最大长度 3.string类的构造函数P656 4.对于c-风格字符串,3种输入方法:cin>>   cin.getline(),cin.get 对于string   ,2种输入方法:cin>>,getline(cin,string对象) 5.st

计算机网络自顶向下方法:第三章 运输层

先根据书中的复习题巩固一遍, 最后回答常见问题TCP三次握手和四次挥手, 如有错误, 欢迎指出~ 点击下面跳过复习题 TCP3次握手: 为什么需要初始序号? 为什么需要3次握手, 而不是两次握手 TCP4次挥手 ? 第二章: 运输层 3.1~3.3节 R1. 假定网络层提供了下列服务. 在源主机中的网络层接收最大长度1200字节和来自运输层的目的主机地址的报文段. 网络层则保证将该报文段交付给位于目的主机的运输层. 假定在目的主机上能够运行许多网络应用进程. a. 设计可能最简单的运输层协议,

Swift中文教程(六)--枚举和结构

原文:Swift中文教程(六)--枚举和结构 Enumerations 枚举 使用 enum 来创建一个枚举.跟Classes(类)和其他类型的命名方式一样,枚举也可以有Method(方法). 1 enum Rank: Int { 2 case Ace = 1 3 case Two, Three, Four, Five, Six, Seven, Eight, Nine, Ten 4 case Jack, Queen, King 5 func simpleDescription() -> Stri

C Primer Plus(第六版)中文版 中的错误1

1 #include<stdio.h> 2 #include<stdlib.h> 3 #include<string.h> 4 #define TSIZE 45 5 6 struct film { 7 char title[TSIZE]; 8 int rating; 9 struct film *next; 10 }; 11 char * s_gets(char * st, int n); 12 13 int main(void) 14 { 15 struct film