473,402 Members | 2,055 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,402 software developers and data experts.

IOException thrown by BinaryFormatter.Deserialize

Hi,

When I'm doing BinaryFormatter.Deserialize() over a TCP socket. When I'm
closing the TcpListener by invoking the TcpListener.Stop(); I get:

System.IO.IOException with message "Unable to read data from the transport
connection." that InnerException of type System.Net.Sockets.SocketException
saying "An established connection was aborted by the software in your host
machine".

The code I'm using is (it's not the complete code because the complete code
is very long and threaded):
-------------------------------------------------------------
string serverIP = "some IP address";
int port = 3001;

TcpListener m_server;
m_server = new TcpListener( System.Net.IPAddress.Parse(serverIP), port );

Socket m_socket = m_server.AcceptSocket();

System.Runtime.Serialization.Formatters.Binary.Bin aryFormatter formatter =
new System.Runtime.Serialization.Formatters.Binary.Bin aryFormatter();

while( true )
{
NetworkStream networkStream = new NetworkStream(m_socket);
MyObjectType obj = formatter.Deserialize(networkStream) as MyObjectType;
// throw the IOException when the TcpListener is closed by TcpListener.Stop();
}
-------------------------------------------------------------

Can anybody tell me how to avoid this exception?
---------
Thanks
Sharon
Nov 17 '05 #1
19 6173
Hi,

Must probably it's cause the networkstream ends without further notice (
probably cause the client sent all the data and closed the connection ) .

Try to do this, copy the networkstream to a memorystream, later deserialize
from that memory stream.

Do you by any chance send the size first?
cheers,

--
Ignacio Machin,
ignacio.machin AT dot.state.fl.us
Florida Department Of Transportation

"Sharon" <Sh****@discussions.microsoft.com> wrote in message
news:14**********************************@microsof t.com...
Hi,

When I'm doing BinaryFormatter.Deserialize() over a TCP socket. When I'm
closing the TcpListener by invoking the TcpListener.Stop(); I get:

System.IO.IOException with message "Unable to read data from the
transport
connection." that InnerException of type
System.Net.Sockets.SocketException
saying "An established connection was aborted by the software in your host
machine".

The code I'm using is (it's not the complete code because the complete
code
is very long and threaded):
-------------------------------------------------------------
string serverIP = "some IP address";
int port = 3001;

TcpListener m_server;
m_server = new TcpListener( System.Net.IPAddress.Parse(serverIP), port );

Socket m_socket = m_server.AcceptSocket();

System.Runtime.Serialization.Formatters.Binary.Bin aryFormatter formatter =
new System.Runtime.Serialization.Formatters.Binary.Bin aryFormatter();

while( true )
{
NetworkStream networkStream = new NetworkStream(m_socket);
MyObjectType obj = formatter.Deserialize(networkStream) as
MyObjectType;
// throw the IOException when the TcpListener is closed by
TcpListener.Stop();
}
-------------------------------------------------------------

Can anybody tell me how to avoid this exception?
---------
Thanks
Sharon

Nov 17 '05 #2
Thanks Ignacio,

The client (the side that does the Serialize) is not closing the socket.
The IOException is thrown when I'm doing the stop on the server side (the
side that does the Deserialize).

The while loop is already Deserialized 30 MyObjectType objects, and this all
the objects that has been Serialized to the socket on the other side.

Can you post a sample code explaining what you want me to check?

No, I'm not sending any size first, I simply doing this:

string serverIP = "The server IP";
int port = 3001;
Socket m_socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream,
ProtocolType.Tcp);
System.Net.IPEndPoint ep = new
System.Net.IPEndPoint(System.Net.IPAddress.Parse(s erverIP ), port);
System.Runtime.Serialization.Formatters.Binary.Bin aryFormatter formatter =
new System.Runtime.Serialization.Formatters.Binary.Bin aryFormatter();
NetworkStream networkStream = new NetworkStream(m_socket);
foreach( MyObjectType obj in myObjectTypeList )
{
formatter.Serialize(networkStream, obj);
}
// waiting...
Any idea?

-----
Thanks
Sharon
Nov 17 '05 #3
Hi,

I had a similar situation, the problem it seems that the client send the
data and just close the connection, sometimes even without sending all the
data, ( there is a property of TcpClient.LingerState that control this) and
the server side was reporting the same error you are seeing.

Do this test, use a memorystream to read the data , use
NetworkStream.DataAvailable , see the example in the help, or you could just
read a byte at a time:

MemoryStream mem = new MemoryStream()
int b=-1;
while( (b=networkstream.ReadByte()) != -1 )
mem.WriteByte( (byte)b);
cheers,

--
Ignacio Machin,
ignacio.machin AT dot.state.fl.us
Florida Department Of Transportation

"Sharon" <Sh****@discussions.microsoft.com> wrote in message
news:3B**********************************@microsof t.com...
Thanks Ignacio,

The client (the side that does the Serialize) is not closing the socket.
The IOException is thrown when I'm doing the stop on the server side (the
side that does the Deserialize).

The while loop is already Deserialized 30 MyObjectType objects, and this
all
the objects that has been Serialized to the socket on the other side.

Can you post a sample code explaining what you want me to check?

No, I'm not sending any size first, I simply doing this:

string serverIP = "The server IP";
int port = 3001;
Socket m_socket = new Socket(AddressFamily.InterNetwork,
SocketType.Stream,
ProtocolType.Tcp);
System.Net.IPEndPoint ep = new
System.Net.IPEndPoint(System.Net.IPAddress.Parse(s erverIP ), port);
System.Runtime.Serialization.Formatters.Binary.Bin aryFormatter formatter =
new System.Runtime.Serialization.Formatters.Binary.Bin aryFormatter();
NetworkStream networkStream = new NetworkStream(m_socket);
foreach( MyObjectType obj in myObjectTypeList )
{
formatter.Serialize(networkStream, obj);
}
// waiting...
Any idea?

-----
Thanks
Sharon

Nov 17 '05 #4
Hi,

An extra question, you said that it already had 30 objects deserialized ,
how many are you sending? 31?
cheers,

--
Ignacio Machin,
ignacio.machin AT dot.state.fl.us
Florida Department Of Transportation

"Sharon" <Sh****@discussions.microsoft.com> wrote in message
news:3B**********************************@microsof t.com...
Thanks Ignacio,

The client (the side that does the Serialize) is not closing the socket.
The IOException is thrown when I'm doing the stop on the server side (the
side that does the Deserialize).

The while loop is already Deserialized 30 MyObjectType objects, and this
all
the objects that has been Serialized to the socket on the other side.

Can you post a sample code explaining what you want me to check?

No, I'm not sending any size first, I simply doing this:

string serverIP = "The server IP";
int port = 3001;
Socket m_socket = new Socket(AddressFamily.InterNetwork,
SocketType.Stream,
ProtocolType.Tcp);
System.Net.IPEndPoint ep = new
System.Net.IPEndPoint(System.Net.IPAddress.Parse(s erverIP ), port);
System.Runtime.Serialization.Formatters.Binary.Bin aryFormatter formatter =
new System.Runtime.Serialization.Formatters.Binary.Bin aryFormatter();
NetworkStream networkStream = new NetworkStream(m_socket);
foreach( MyObjectType obj in myObjectTypeList )
{
formatter.Serialize(networkStream, obj);
}
// waiting...
Any idea?

-----
Thanks
Sharon

Nov 17 '05 #5
Hi Ignacio,

That's exactly the point, I'm Serialize 30 objects and getting them all at
the deserializing side.
So all the data was sent successfully.
But still I get this exception when closing the TcpListener.

What do you think.

--------
Thanks
Sharon
Nov 17 '05 #6
Hi Sharon,

I have a similar problem

DO this, Check the InnerException to see what it contains, if so what is
the ErrorCode you are getting?

cheers,

--
Ignacio Machin,
ignacio.machin AT dot.state.fl.us
Florida Department Of Transportation

"Sharon" <Sh****@discussions.microsoft.com> wrote in message
news:0D**********************************@microsof t.com...
Hi Ignacio,

That's exactly the point, I'm Serialize 30 objects and getting them all at
the deserializing side.
So all the data was sent successfully.
But still I get this exception when closing the TcpListener.

What do you think.

--------
Thanks
Sharon

Nov 17 '05 #7
Hi Ignacio,

Ok,
The top exception is System.IO.IOException {"Unable to read data from the
transport connection."}, and it contains an inner exception
System.Net.Sockets.SocketException {"An established connection was aborted by
the software in your host machine"}

NativeErrorCode = 10053

Stack trace:

System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
System.IO.Stream.ReadByte()
at System.IO.BinaryReader.FillBuffer(Int32 numBytes)
System.IO.BinaryReader.ReadByte()
System.Runtime.Serialization.Formatters.Binary.__B inaryParser.ReadByte(
System.Runtime.Serialization.Formatters.Binary.Ser ializationHeaderRecord.Read(__BinaryParser input
System.Runtime.Serialization.Formatters.Binary.__B inaryParser.ReadSerializationHeaderRecord()
System.Runtime.Serialization.Formatters.Binary.__B inaryParser.Run()
System.Runtime.Serialization.Formatters.Binary.Obj ectReader.Deserialize(HeaderHandler
handler, __BinaryParser serParser, Boolean fCheck, IMethodCallMessage
methodCallMessage)
System.Runtime.Serialization.Formatters.Binary.Bin aryFormatter.Deserialize(Stream
serializationStream, HeaderHandler handler, Boolean fCheck,
IMethodCallMessage methodCallMessage
System.Runtime.Serialization.Formatters.Binary.Bin aryFormatter.Deserialize(Stream serializationStream, HeaderHandler handler
System.Runtime.Serialization.Formatters.Binary.Bin aryFormatter.Deserialize(Stream serializationStream)
I hope it gives you what you need.
---------------
Thanks again
Sharon
Nov 17 '05 #8

Hi Sharon,

Seems there are something else cause the formatter to read further data from
the NetworkStream after you've close the Tcp connection. Have you tried using
NetworkStream.close() method to close both the stream and the underlying Tcp
connection? Also, I think Ignacio's suggestion on using a memory stream to
temporarly hold the binary data is also a considerable means for testing.

Please feel free to post here if you got any further finding.

Thanks,

Steven Cheng

"Sharon" wrote:
Hi Ignacio,

Ok,
The top exception is System.IO.IOException {"Unable to read data from the
transport connection."}, and it contains an inner exception
System.Net.Sockets.SocketException {"An established connection was aborted by
the software in your host machine"}

NativeErrorCode = 10053

Stack trace:

System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
System.IO.Stream.ReadByte()
at System.IO.BinaryReader.FillBuffer(Int32 numBytes)
System.IO.BinaryReader.ReadByte()
System.Runtime.Serialization.Formatters.Binary.__B inaryParser.ReadByte()
System.Runtime.Serialization.Formatters.Binary.Ser ializationHeaderRecord.Read(__BinaryParser input)
System.Runtime.Serialization.Formatters.Binary.__B inaryParser.ReadSerializationHeaderRecord()
System.Runtime.Serialization.Formatters.Binary.__B inaryParser.Run()
System.Runtime.Serialization.Formatters.Binary.Obj ectReader.Deserialize(HeaderHandler
handler, __BinaryParser serParser, Boolean fCheck, IMethodCallMessage
methodCallMessage)
System.Runtime.Serialization.Formatters.Binary.Bin aryFormatter.Deserialize(Stream
serializationStream, HeaderHandler handler, Boolean fCheck,
IMethodCallMessage methodCallMessage)
System.Runtime.Serialization.Formatters.Binary.Bin aryFormatter.Deserialize(Stream serializationStream, HeaderHandler handler)
System.Runtime.Serialization.Formatters.Binary.Bin aryFormatter.Deserialize(Stream serializationStream)
I hope it gives you what you need.
---------------
Thanks again
Sharon

Nov 17 '05 #9

Hi Sharon,

Seems there are something else cause the formatter to read further data from
the NetworkStream after you've close the Tcp connection. Have you tried using
NetworkStream.close() method to close both the stream and the underlying Tcp
connection? Also, I think Ignacio's suggestion on using a memory stream to
temporarly hold the binary data is also a considerable means for testing.

Please feel free to post here if you got any further finding.

Thanks,

Steven Cheng

"Sharon" wrote:
Hi Ignacio,

Ok,
The top exception is System.IO.IOException {"Unable to read data from the
transport connection."}, and it contains an inner exception
System.Net.Sockets.SocketException {"An established connection was aborted by
the software in your host machine"}

NativeErrorCode = 10053

Stack trace:

System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
System.IO.Stream.ReadByte()
at System.IO.BinaryReader.FillBuffer(Int32 numBytes)
System.IO.BinaryReader.ReadByte()
System.Runtime.Serialization.Formatters.Binary.__B inaryParser.ReadByte()
System.Runtime.Serialization.Formatters.Binary.Ser ializationHeaderRecord.Read(__BinaryParser input)
System.Runtime.Serialization.Formatters.Binary.__B inaryParser.ReadSerializationHeaderRecord()
System.Runtime.Serialization.Formatters.Binary.__B inaryParser.Run()
System.Runtime.Serialization.Formatters.Binary.Obj ectReader.Deserialize(HeaderHandler
handler, __BinaryParser serParser, Boolean fCheck, IMethodCallMessage
methodCallMessage)
System.Runtime.Serialization.Formatters.Binary.Bin aryFormatter.Deserialize(Stream
serializationStream, HeaderHandler handler, Boolean fCheck,
IMethodCallMessage methodCallMessage)
System.Runtime.Serialization.Formatters.Binary.Bin aryFormatter.Deserialize(Stream serializationStream, HeaderHandler handler)
System.Runtime.Serialization.Formatters.Binary.Bin aryFormatter.Deserialize(Stream serializationStream)
I hope it gives you what you need.
---------------
Thanks again
Sharon

Nov 17 '05 #10
Hi Steven,

When I'm closing I'm first doing:
TcpListener.Stop();

And then:
Socket.Close();

And when I’m catching the IOException (thrown by the
formatter.Deserialize(networkStream)) I’m doing on a finally block:
NetworkStream.Close();
Should I do it differently?
--------
Thanks
Sharon
Nov 17 '05 #11
Hi Steven,

When I'm closing I'm first doing:
TcpListener.Stop();

And then:
Socket.Close();

And when I’m catching the IOException (thrown by the
formatter.Deserialize(networkStream)) I’m doing on a finally block:
NetworkStream.Close();
Should I do it differently?
--------
Thanks
Sharon
Nov 17 '05 #12
Hi

Here is a KB may related with your problem.

PRB: TcpClient Close Method Does Not Close the Underlying TCP Connection
http://support.microsoft.com/?id=821625
Also I suggest you try to use the syntax something like below to receive
the network stream.
[pseudocode]
try
{
Int32 port = 13000;
TcpListener server = new TcpListener(port);
server.Start();
Byte[] bytes = new Byte[256];
while(true)
{
Console.Write("Waiting for a connection... ");
TcpClient client = server.AcceptTcpClient();
Console.WriteLine("Connected!");
data = null;
NetworkStream stream = client.GetStream();
Int32 i;
int pos=0;
MemoryStream ms = new MemoryStream();
while((i = stream.Read(bytes, 0, bytes.Length))!=0)
{
ms.Write(bytes,pos,i);
pos +=i;
}
stream.Close();
client.Close();
}
}
catch(SocketException e)
{
Console.WriteLine("SocketException: {0}", e);
}
//Handle the Deserial here.
Console.WriteLine("\nHit enter to continue...");
Console.Read();
//Close the listener.
tcpListener.Stop();
}
Best regards,

Peter Huang
Microsoft Online Partner Support

Get Secure! - www.microsoft.com/security
This posting is provided "AS IS" with no warranties, and confers no rights.

Nov 17 '05 #13
Hi Peter,

Thanks for your reply.

From your replay I have 2 questions:
(1) The transportation speed is most important to me, so I thought using the
TcpListener.AcceptSocket() will be best.
Why should I use the TcpListener.AcceptTcpClient() instead the
AcceptSocket()? Is it better or preferred?

(2) In the code you have posted; the:
MemoryStream ms = new MemoryStream();
while((i = stream.Read(bytes, 0, bytes.Length))!=0)
{
ms.Write(bytes,pos,i);
pos +=i;
}

For what is it good for?
Why are you using the MemoryStream?
As I posted, I’m using the BinaryFormatter.Deserialize(networkStream). How
should I use it now in reference to your suggested code?
--------
Thanks
Sharon
Nov 17 '05 #14
Hi again Peter,

I have changed my code as you suggested to something like that
///////////////////////////////////////////////////////////////////////////////
TcpListener tcpListener = new TcpListener(
System.Net.IPAddress.Parse(serverIP), port );
TcpClient tcpClient = tcpListener.AcceptTcpClient();

System.Runtime.Serialization.Formatters.Binary.Bin aryFormatter formatter =
new System.Runtime.Serialization.Formatters.Binary.Bin aryFormatter();
NetworkStream networkStream = m_tcpClient.GetStream();

myClassType myClass = null;
int count = 30;
while( count != 0 )
{
myClass = formatter.Deserialize(networkStream) as myClassType;
++count;
}

tcpListener.Stop();
networkStream.Close();
tcpClient.Close()
///////////////////////////////////////////////////////////////////////////////

But now when the tcpListener.Stop() is invoked, the formatter.Deserialize()
throws
SerializationException{"End of Stream encountered before parsing was
completed."}
But all the myClass objects that are sent are received successfully.

I’m not if this error is better then the IOException I had before.

What do you think?
--------
Thanks
Sharon
Nov 17 '05 #15
Hi

The TCPClient is just a wrap with the socket, so I think that will not do
much performance hurt, but will give an easier access approach.
Also I suggest you close the according the sequence below.

stream.Close();
client.Close();
.......
tcpListener.Stop();

That is to say, close the tcpListener at last.

Also as a server, the listener should always open. We need to close it till
we no longer need to receive data from client, commonly that is the time
that the application is going to exit.

Also we use the memorysteam to ensure the networkstream to be received.
e.g. We will have 8 bytes being sent, but in the server side, we may just
read 7 bytes, that it is not enough to deserialize the object.
So I suggest you copy the whole network stream into a memorystream.

To deserialize from a memorystream is same as deserialize from a
networkstream.
The only difference is that, after you have make sure all the data has been
copied to the memorysteam, you need to set ms.Position =0 so that we will
deserialize from the first byte.

MemoryStream ms = new MemoryStream();
while((i = stream.Read(bytes, 0, bytes.Length))!=0)
{
ms.Write(bytes,pos,i);
pos +=i;
}
ms. Position =0;
//deserilize.

Best regards,

Peter Huang
Microsoft Online Partner Support

Get Secure! - www.microsoft.com/security
This posting is provided "AS IS" with no warranties, and confers no rights.

Nov 17 '05 #16
Hi Peter,

I changed my code so the server closing sequence will be as follow:
1. networkStream.Close(); // for each server thread that might have a lot.
2. tcpClient.Close(); // for each server thread that might have a lot.
3. tcpListener.Stop(); // Only once.

After I tested this change I ‘m still getting an exception as follow:
IOExceptionn {Unable to read data from the transport connection.} with inner
exception Sockets.SocketException {A blocking operation was interrupted by a
call to WSACancelBlockingCall}

I must say that I think that the tcpListener must be closed first (before
the closing of all the tcpClients/sockets and networkStreams), otherwise
clients might being added to the server clients list as the server is
running, but server is will not handle them because is at closing mode. So
this is an unexpected behavior and it might cause exceptions.

I tried to use the MemoryStream as you suggested, by I’m serializing and
deserialize an object that I created that holds several data fields. And the
MemoryStream can read only byte array (byte[]), so I’m not sure how can I use
it.
I chose to use the binaryFormatter.Deserialize() as it can handle any object
and not only byte arrays.
This is why I’m not sure I can use the MemoryStream as you suggested.
---------
Thanks
Sharon
Nov 17 '05 #17
Hi Sharon,

Thanks very much for your detailed information.
From your description, it seems that you have a multiple thread in your
application.
Also BinaryFormatter.Deserialize Method is used to Deserializes a stream
into an object graph.
public virtual object Deserialize(Stream);
The Steam can only only be a NetworkStream, but also a MemoryStream. What
we do is just to copy the NetworkStream content into MemoryStream, and then
call the Deserialize on memory stream.
So far can you send a simple sample for your scenario as long as it can
reproduce the problem.
You can reach me via removing the "online" from my email address.

Thanks for your efforts.

Best regards,

Peter Huang
Microsoft Online Partner Support

Get Secure! - www.microsoft.com/security
This posting is provided "AS IS" with no warranties, and confers no rights.

Nov 17 '05 #18
Hi Sharon,

Firstly I am glad that it seems that you have fixed the exception problem.
As for your another question about the performance about the TCPClient and
Socket approach, I think they did not make difference.
The TCPClient is a wrap for socket class so that we can use it more easier,
in the low level, it is still using Socket.
If you use reflector to disassembly the .NET code you will find the
GetStream similar with below.
You will find that it will create the NetworkStream inside.

You can get the Reflector tool in the link below.
http://www.aisto.com/roeder/dotnet/

public NetworkStream GetStream()
{
if (this.m_CleanedUp)
{
throw new ObjectDisposedException(base.GetType().FullName);
}
if (!this.Client.Connected)
{
throw new
InvalidOperationException(SR.GetString("net_notcon nected"));
}
if (this.m_DataStream == null)
{
this.m_DataStream = new NetworkStream(this.Client,
true);//////////////////////////////////////////////// this.Client is
Socket instance.
this.m_DataStreamCreated = true;
}
return this.m_DataStream;
}
Best regards,

Peter Huang
Microsoft Online Partner Support

Get Secure! - www.microsoft.com/security
This posting is provided "AS IS" with no warranties, and confers no rights.

Nov 17 '05 #19
Hi Sharon,

How is the things going?
If you still have any concern on this issue, please feel free to post here.

Best regards,

Peter Huang
Microsoft Online Partner Support

Get Secure! - www.microsoft.com/security
This posting is provided "AS IS" with no warranties, and confers no rights.

Nov 17 '05 #20

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
by: Dominic | last post by:
Hi everybody, In my application, I'm planning to use BinaryFormatter to serialize a potentially huge object to file (and, of course, deserialize back to memory later). My question is if there is...
0
by: aladdinm1 | last post by:
Hi All, Reference to the problem I posted with subject "BinaryFormatter.Deserialize fails when used with .net ActiveX". I could successfully solve the problem by creating a class inherited from...
3
by: Joshua Moore | last post by:
I have a webservice that serializes a ton of variables and other good stuff to a txt file using SoapFormatter (IFormatter), and when I try to deserialize it using the binary formatter, i get the...
0
by: Fred Heida | last post by:
Hi Al, i have a funny problem.. i you can call it funny.. what i have is 2 assemblies, the first one does nothing other then Application.Run(new MyForm())
11
by: Igor | last post by:
Hi. While executing BinaryFormatter.Deserialize() I get: System.InvalidCastException: Specified cast is not valid. I implemented ISerializable interface. What may be a problem? Thanks.
2
by: Henrik Skak Pedersen | last post by:
Hello, I have a class which is beeing serialized/deserialized using the BinaryFormatter class. That has been working with no problems until I signed all my assemblies. Now I get a...
0
by: Fruber Malcome | last post by:
I'm getting a very weird exception and hoping someone may be able to help. I have an Office Add-In that lives in a .dll (for email reference ai.dll) ai.dll makes calls into the core part of the...
2
by: Doug Lind | last post by:
Hi all, I have seen a number of posts re: the BinaryFormatter version incompatibility but nothing on how to recover from it. In my case, I want the exception to trigger an alternate behaviour...
11
by: JZ | last post by:
Hi, I'm using a class and binary formatter to store data in files. For example.. Dim FPs As New StuctureDataFile() Dim FileStream As Stream = File.Open(pfile, FileMode.Open) Dim...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.