小编Yos*_*agy的帖子

TCP真的能保证交付吗?

我正在阅读一本网络书籍,从我读过的关于TCP协议的内容来看,它确保了数据的发送.我想写一些代码来进行文件传输.在开始之前,我还在Python文档中读到了这段话:

"应用程序负责检查是否已发送所有数据;如果仅传输了部分数据,则应用程序需要尝试传送剩余数据"

这似乎与我在网络书中读到的内容相矛盾.上面的段落说应用程序负责丢失的数据.

我可能会误解,所以我想问一些问题:

1 - 如果我必须检查数据是否已发送,那么为什么要使用TCP?

2-I在网络书中读到TCP进行数学计算以确保数据存在.那为什么不浪费时间使用TCP呢?

3- python文档没有指定缓冲区大小.一次发送的最大缓冲区大小是多少?

4-I在网络书中读到,如果服务器知道客户端可以接收它,它可以增加它可以发送的数据量.这可以改变缓冲区的大小超过最大数量吗?

这是我到目前为止的代码尝试:

服务器代码:

import socket
s = socket.socket()
host =  socket.gethostname()
port =  3000
s.bind((host,port))
s.listen(1)
c,addr = s.accept()
with open("Filetosend","rb") as File:
    data=  File.read(1024)
    while data:
        c.send(data)
        data =  File.read(1024)
s.close()
Run Code Online (Sandbox Code Playgroud)

客户代码:

import socket
s= socket.socket()
host =  socket.gethostname()
port =  3000
s.connect((host,port))
with open("Filetowrite","wb") as File:
    data =  s.recv(1024)
    while data:
        File.write(data)
        data = s.recv(1024)
s.close()
Run Code Online (Sandbox Code Playgroud)

python sockets tcp

5
推荐指数
1
解决办法
2086
查看次数

当前上下文中不存在名称“InitializeComponent”(c#,xamarin)

我刚刚下载了 Visual Studio 并创建了一个新的 Xamarin.Forms 项目。但是,当使用自动生成的代码构建应用程序时,我在 MainPage.xaml 的代码隐藏中遇到了以下错误:

The name 'InitializeComponent' does not exist in the current context

我在互联网上查找了解决方案,但没有找到适合我的解决方案。我尝试过的:

  • 更改 MainPage.xaml 属性中的自定义工具(之前为空)

  • 我检查了命名空间是否匹配(确实如此)

  • 我尝试保存所有文件

这是自动生成的代码的图像,我没有对其进行编辑: MainPage.xaml 和 MainPage.xaml.cs

c# xaml xamarin

4
推荐指数
1
解决办法
3480
查看次数

使用隐藏在 Xamarin.Forms 中的 C# 代码访问控件

我无法从 C# 代码背后的代码访问 xaml 文件中定义的标签。

我尝试了该x:name="l"属性,但它告诉我“'l' 未定义”:

在此处输入图片说明

任何人都可以通过提供示例来帮助我如何从背后的 C# 代码访问控件吗?

reference code-behind xname xamarin xamarin.forms

4
推荐指数
1
解决办法
2840
查看次数

标签 统计

xamarin ×2

c# ×1

code-behind ×1

python ×1

reference ×1

sockets ×1

tcp ×1

xamarin.forms ×1

xaml ×1

xname ×1