string[] s1 = { "5", "168", "789", "28", "29", "155" };
string s2[] = {"abc","bcs"};
private byte[] byteBuffer;
public ClientState(Socket clntSock)
{
this.clntSock = clntSock;
rcvBuffer = new byte[BUFSIZE]; // Receive buffer
byteBuffer = new byte[strings.Length];
for (int i = 0; i < s1.Length; i++)
{
byteBuffer[i] = Byte.Parse(strings[i]);
}
}
string[] strings = { "5", "168", "23", "28", "29", "155" };
private const int BUFSIZE = 32; // Size of receive buffer
private byte[] rcvBuffer;
private Socket clntSock;
private byte[][] byteBuffer;
private NetworkStream netStream;
public ClientState(Socket clntSock)
{
this.clntSock = clntSock;
rcvBuffer = new byte[BUFSIZE]; // Receive buffer
byteBuffer = new byte[strings.Length][];
byteBuffer = ToBytes(strings);
}
static byte[][] ToBytes(string[] ascii)
{
byte[][] results = ascii.AsEnumerable().Select(x => Encoding.UTF8.GetBytes(x)).ToArray();
return results;
}
public ClientState(NetworkStream netStream, byte[][] byteBuffer)
{
this.netStream = netStream;
this.byteBuffer = byteBuffer;
}
public NetworkStream NetStream
{
get
{
return netStream;
}
}
public byte[][] BByteBuffer
{
set
{
byteBuffer = value;
}
get
{
return byteBuffer;
}
}
string[] strings = { "5", "168", "23", "28", "29", "155" };
private const int BUFSIZE = 32; // Size of receive buffer
private byte[] rcvBuffer;
private Socket clntSock;
private byte[][] byteBuffer;
private NetworkStream netStream;
public ClientState(Socket clntSock)
{
this.clntSock = clntSock;
rcvBuffer = new byte[BUFSIZE]; // Receive buffer
byteBuffer = new byte[strings.Length][];
byteBuffer = ToBytes(strings);
}
static byte[][] ToBytes(string[] ascii)
{
byte[][] results = ascii.AsEnumerable().Select(x => Encoding.UTF8.GetBytes(x)).ToArray();
return results;
}
public ClientState(NetworkStream netStream, byte[][] byteBuffer)
{
this.netStream = netStream;
this.byteBuffer = byteBuffer;
}
public NetworkStream NetStream
{
get
{
return netStream;
}
}
public byte[][] BByteBuffer
{
set
{
byteBuffer = value;
}
get
{
return byteBuffer;
}
}
public void ReceiveCallback(IAsyncResult asyncResult)
{
ClientState cs = (ClientState)asyncResult.AsyncState;
try
{
int recvMsgSize = cs.ClntSock.EndReceive(asyncResult);
if (recvMsgSize > 0)
{
Console.WriteLine("Thread {0} ({1}) - ReceiveCallback(): received {2} bytes",
Thread.CurrentThread.GetHashCode(),
Thread.CurrentThread.ThreadState,
recvMsgSize);
cs.ClntSock.BeginSend(cs.BByteBuffer, 0, cs.BByteBuffer.Length, SocketFlags.None,
new AsyncCallback(SendCallback), cs);
}
else
{
cs.ClntSock.Close();
}
}
catch (SocketException se)
{
Console.WriteLine(se.ErrorCode + ": " + se.Message);
cs.ClntSock.Close();
}
}
I am converting s1 string array to byte array and I send it to a client . This is a server. So at the client I want to convert the byte array back to a string array. With Byte.Parse I am unable to convert string s2. So how do I convert s1 string array and s2 string array to byte arrays.
I want to convert the byte arrays back to strings arrays and out put the result at the client side.
it says cannot convert from byte[][] to byte[] at cs.ClntSock.BeginSend(cs.BByteBuffer, 0, cs.BByteBuffer.Length, SocketFlags.None,new AsyncCallback(SendCallback), cs);