将接收到的数据写入文本文件

2023-11-30

下面是在 Mininet 主机中打开 UDP 套接字并将接收到的数据包写入文件的示例。 h1 充当服务器,h2 充当客户端,应该向 h1 发送消息(例如“Hello world”)。 h1 假设接收此消息并将消息和地址存储在 foo.txt 文件中。 但是执行此代码后,虽然创建了 foo.txt 但它是空的并且不包含任何数据或信息。怎么了?

mininetSocketTest.py:

#!/usr/bin/python

from mininet.topo import Topo, SingleSwitchTopo
from mininet.net import Mininet
from mininet.log import lg, info
from mininet.cli import CLI

def main():
    lg.setLogLevel('info')

    net = Mininet(SingleSwitchTopo(k=2))
    net.start()

    h1 = net.get('h1')
    p1 = h1.popen('python myServer.py -i %s &' % h1.IP())

    h2 = net.get('h2')
    h2.cmd('python myClient.py -i %s -m "hello world"' % h1.IP())

    CLI( net )
    p1.terminate()
    net.stop()

if __name__ == '__main__':
main()

myClient.py:

import socket, optparse

parser = optparse.OptionParser()
parser.add_option('-i', dest='ip', default='127.0.0.1')
parser.add_option('-p', dest='port', type='int', default=12345)
parser.add_option('-m', dest='msg')
(options, args) = parser.parse_args()

s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.sendto(options.msg, (options.ip, options.port) )

myServer.py:

import socket, optparse

parser = optparse.OptionParser()
parser.add_option('-i', dest='ip', default='')
parser.add_option('-p', dest='port', type='int', default=12345)
(options, args) = parser.parse_args()

s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.bind( (options.ip, options.port) )

f = open('foo.txt','w')
while True:
  data, addr = s.recvfrom(512)
  f.write("%s: %s\n" % (addr, data))
f.flush()

None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将接收到的数据写入文本文件 的相关文章

随机推荐

  • Facebook C# SDK 获取当前用户

    我正在开发 Facebook 应用程序 不是网站 我正在尝试使用 Facebook C SDK 并尝试获取当前用户并查询当前用户信息 我怎么做 另外 当我尝试使用应用程序时 它要求添加应用程序 请求访问数据的权限 我该怎么做 有这些东西的综
  • 在 Emacs 23.1.1 中绑定 M- / M-

    I m trying to put in a feature that I miss from Eclipse where Alt Up Down transposes the lines up or down but can not fo
  • 我可以禁用应用程序上的主页按钮吗? (全屏浏览器信息亭模式)

    我必须在旅游展上放置很多 iPad 来展示我们的网站 而且我们不希望人们可以使用这些 iPad 来玩 进入 facebook 等等 为此 我正在搜索一个应用程序 将 iPad 置于信息亭模式以全屏显示我们的网页 但如果用户可以按主页按钮转到
  • java改变图像中每个像素的颜色

    我想将不同的像素更改为不同的颜色 基本上 将部分像素更改为透明 for int i 0 i lt image getWidth i for int j 0 j lt image getHeight j image setRGB i j 0
  • 通过 SOAP HttpWebRequest 发送附件

    我正在尝试通过发送附件HttpWebRequest在控制台应用程序中 经过几天的搜索和互联网搜索 寻求一些可以理解的帮助 我想出了一个我认为不错的解决方案这个网站 虽然我认为我已经正确完成了所有操作 但我收到以下错误 多部分流在遇到终止边界
  • Maven:无法检索插件描述符错误

    我配置了 Maven 3 0 3 并尝试通过以下命令使用原型下载示例项目 mvn archetype generate DarchetypeGroupId org graniteds archetypes DarchetypeArtifac
  • 在 apache 配置中使用 WSGIApplicationGroup %{GLOBAL} 时出现问题

    我使用 django 与 apache 和 mod wsgi 当我在 apache 配置文件 conf 中使用 WSGIApplicationGroup GLOBAL 时 我遇到问题 我不知道我是否正确使用了这个指令 或者我需要以其他方式使
  • SQL使用row_number()或rank()选择具有最大值的行

    我有以下类型的数据 RowId Name Value 1 s1 12 22 s1 3 13 s1 4 10 s2 14 22 s2 5 3 s2 100 我想要有以下输出 RowId Name Value 1 s1 12 3 s2 100
  • 为什么当从外部源(即 Excel、Word 等)单击链接时,cookie 无法识别

    我注意到 当从 Web 浏览器外部 例如从 Excel 或 Word 单击链接时 即使该链接在同一浏览器窗口的新选项卡中打开 我的会话 cookie 最初也无法识别 浏览器最终会识别出它的 cookie 但我很困惑为什么来自 Excel 或
  • Windows 相当于 inb()、outb()、低级 i/o

    我有一些 Linux 代码 通过使用 inb outb inl 等低级 I O 函数从主板收集温度 电压和风扇速度来监视我们的硬件 我的挑战是将代码移植到 Windows 下作为简单的控制台应用程序运行 但我对 Win32 或 NET 提供
  • 互操作 Excel 方法 LinEst 因 DISP_E_TYPEMISMATCH 失败

    我在制作 Excel 的 LinEST 函数时遇到问题 我的程序就像 MyExcel Application xl new MyExcel Application MyExcel WorksheetFunction wsf xl Works
  • HttpClientFactory.Create 与新的 HttpClient

    我很好奇这样做的目的是什么HttpClientFactory class MSDN 上没有说明它为何存在 请参阅链接 有Create methods有更专门的参数 但我主要想知道不带参数的调用和普通构造函数之间有什么区别 var httpC
  • RealityKit - 隐藏和显示 usdz 模型的部分(网格)

    我需要建议 我正在使用 RealityKit 来显示栅栏模型 我的模型有多个网格 不应立即显示 例如填充围栏 有不同的选择 我的模型中都有 我想每次都展示一个 我怎样才能做到这一点 我无法在运行时编辑网格 可以吗 我正在考虑更改每个网格的材
  • ViewScoped bean 中未设置 viewParam 值

    抱歉 可能是另一个非常基本的问题 在我的 ViewScoped bean 中 viewParam 看起来像是已设置 但当我开始使用它时 该值为 null 我在 setter setEventId 中放置了一个断点 它获取了值 但在我的 pr
  • 仅删除输入元素上的一个边框,不影响其他边框

    我对下面脚本的意图 也位于http jsbin com enOxEya 1 只是删除右边框 然而 对于 FF Chrome 和 IE 它会使左边框和上边框变为粗体 此外 对于 FF 它会删除底部边框 而对于 Chrome 和 IE 它会遮蔽
  • 在 Swift 3 中设置中长测量符号

    在 Swift 中 当我创建自定义单位时 我只能定义一个符号 内置单元可以有短 中 长单元 如何为自定义单位设置其他单位样式 extension UnitEnergy static let footPounds UnitEnergy sym
  • 如何使用复选框将选定行中的数据从 JSP 传递到服务器

    我想知道是否有任何方法可以使用我在这些行上放置的复选框将所选行的数据发送到服务器 我的意思是 我怎样才能只发送数据 在这种情况下mileage 将那些选定的行 通过复选框选定 发送到服务器 看图片 这是我使用的html代码 table th
  • 将模型对象从一个视图控制器传递到导航堆栈中的另一个视图控制器

    我有两个 UITableViewController 显示名称列表 点击任何单元格将推动第二个表视图控制器 该控制器使用户能够在 UITextField 中编辑名称 现在我可以将名称字符串从第一个 TableViewController 传
  • jekyll 语法荧光笔不工作

    我正在使用 jekyll 和 Github Pages 来构建我的网站 我遵循了所有说明http jekyllrb com docs templates code snippet highlighting但是 我的帖子中的语法荧光笔不会呈现
  • 将接收到的数据写入文本文件

    下面是在 Mininet 主机中打开 UDP 套接字并将接收到的数据包写入文件的示例 h1 充当服务器 h2 充当客户端 应该向 h1 发送消息 例如 Hello world h1 假设接收此消息并将消息和地址存储在 foo txt 文件中