小编pay*_*pay的帖子

使用TcpClient和TcpListener发送消息中的垃圾数据

我有几个使用相同代码运行的其他网络代码,我以前从未见过这个.接收缓冲区中的剩余字节正在填充\0\0\0\0\0\0\0\0\0\0\

我已经看过几次了,但从未有过答案.

TcpListener tlist = new TcpListener(IPAddress.Parse(ip.ToString()), 27275);

一旦有连接...

byte[] byData = new byte[textBox.Text.Length];
byData = System.Text.Encoding.UTF8.GetBytes(textBox.Text);
client.Send(byData, 0, byData.Length, 0);
Run Code Online (Sandbox Code Playgroud)

接收端:

byte[] bufferRec = new byte[56];
tc.Client.Receive(bufferRec, 0, 56, 0);
string output = Encoding.UTF8.GetString(bufferRec);
Run Code Online (Sandbox Code Playgroud)

我通常使用的缓冲区大小是256,我实际上很少发送/接收256字节的数据,但我从未看到那些剩余的字节被垃圾数据填充,仅在这种情况下.

编辑:我当然可以简单地解析垃圾数据,但由于没有理由,它仍然是奇怪的行为.

c# sockets tcpclient

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

有没有一种简单的方法来包装WPF ListBox中的文本?

我一直在寻找这个,找到了一些与Winforms相关的解决方案,有些人甚至只是说WPF中很难实现,但这些帖子都很老了.

如果我有一个标准ListBox,声明为:

<ListBox 
    x:Name="listBox" 
    HorizontalAlignment="Left" 
    Height="240" 
    Margin="401,68,0,0" 
    VerticalAlignment="Top" 
    Width="345" 
    SelectionChanged="listBox_SelectionChanged"
    ScrollViewer.HorizontalScrollBarVisibility="Disabled"
    Grid.ColumnSpan="2"/>`
Run Code Online (Sandbox Code Playgroud)

并以编程方式:

System.ComponentModel.BindingList<string> listItems = new System.ComponentModel.BindingList<string>();
listBox.ItemsSource = listItems;
Run Code Online (Sandbox Code Playgroud)

有没有办法将这些字符串包裹在ListBox

c# wpf xaml listbox

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

标签 统计

c# ×2

listbox ×1

sockets ×1

tcpclient ×1

wpf ×1

xaml ×1