Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 套接字编程/通过无线发送二进制图像数据_C#_Sockets - Fatal编程技术网

C# 套接字编程/通过无线发送二进制图像数据

C# 套接字编程/通过无线发送二进制图像数据,c#,sockets,C#,Sockets,如何通过无线方式发送字节数组(byte[]) 我目前正在开发一个客户端/服务器聊天应用程序。我已经实现了各种其他功能,例如配置文件管理,但我面临的问题是试图通过无线发送图像 我已经知道如何将图像转换为字节格式并从数据库中保存/检索,但是当涉及到以TCP/IP发送图像时,它不适用于am使用的类(StreamWriter) 我需要哪些类来发送字节流?不影响他的个人资料 (在我的聊天记录表中) 这是我的算法:连接用户信息,例如他的用户名、密码、位置、性别、状态,并嵌入服务器符号,例如(%、^、~、`)

如何通过无线方式发送字节数组(
byte[]

我目前正在开发一个客户端/服务器聊天应用程序。我已经实现了各种其他功能,例如配置文件管理,但我面临的问题是试图通过无线发送图像

我已经知道如何将图像转换为字节格式并从数据库中保存/检索,但是当涉及到以TCP/IP发送图像时,它不适用于am使用的类(
StreamWriter

我需要哪些类来发送字节流?不影响他的个人资料

(在我的聊天记录表中)
这是我的算法:连接用户信息,例如他的用户名、密码、位置、性别、状态,并嵌入服务器符号,例如(%、^、~、`),以便服务器可以将他的信息分离并保存在数据库中

在我尝试将字节数组(
byte[]
I.e图像数据)与他的信息连接起来之前,一切都很正常

我的解决方案是:我将单独发送他的信息,即所有字符串将在一起,当我想将他的个人资料详细信息发送到服务器时,他的图像将独立

我的类:我使用流编写器将用户信息写入服务器。
请给我举一个例子,使用一个好的类,例如(二进制编写器)发送他的个人资料图片。如果我能在服务器上获得二进制代码,我将非常感激。非常感谢。

TcpClient
可以使用

TcpClient tcpClient = new TcpClient();
tcpClient.Connect(server, port);
Stream stream = tcpClient.GetStream();

byte[] testString = Encoding.ASCII.GetBytes("test");
stream.Write(testString, 0, testString.Length);

stream.Close();
tcpClient.Close();
这将发送
字符串
“test”。您可以将相同的逻辑应用于不同的数据格式

byte[] hexMsg = new byte[] { 0x1A, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00 };
stream.Write(hexMsg, 0, hexMsg.Length);

这将在流中发送一些
hex
值。

StreamWriter
适用于编写字符串。使用
BinaryWriter
编写二进制数据。感谢您的帮助我非常感激,由于我不耐烦,也缺乏使用bainary writer的经验,我制定了一个算法来解决它。我使用循环将图像中的每个字节(字节[])转换为字符串,并在每个字节(逗号符号)后插入一个中断符号,然后我将其与stream writer一起发送,我在服务器端有类似(imageData.length,244,56,0,0,78,12)的东西,带有逗号的emmbed,dat cud在每个逗号之前重新插入字符串,将其转换回字节,并将其推入(插入下一个索引)一个新的字节数组中,并解码颜色信息。