I have a server (written in java) that listens for a connection on a specific port. I have a client (written in c#) that connects with java server and try to send some data but the connection get reset with following error at server side. "java.net.SocketException: Connection reset"
Below is the client side code:-
public void ConnectServer()
{
try
{
if (Connect())
{
Broadcast("check");
}
}
catch (Exception ex)
{
Logger.Text = ex.Message;
}
}
private bool Connect()
{
bool flag = false;
try
{
if (!clientSocket.Connected)
{
clientSocket.Connect(ConfigurationManager.AppSettings["SMSRequestNotifierServer"].ToString(), Convert.ToInt32(ConfigurationManager.AppSettings["SMSRequestNotifierPort"].ToString()));
clientSocket.LingerState = new LingerOption(true,10);
isConnected = true;
flag = true;
}
else
{
flag = true;
}
}
catch (Exception ex)
{
Logger.Text = ex.Message;
flag = false; }
return flag;
}
private void Broadcast(String msg)
{
using (NetworkStream serverStream = clientSocket.GetStream())
{
byte[] outStream = System.Text.Encoding.ASCII.GetBytes(msg);
serverStream.Write(outStream, 0, outStream.Length);
serverStream.Flush();
serverStream.Close();
serverStream.Dispose();
clientSocket.Close();
}
}
Can anyone point me what am i doing wrong in this code that my connection is getting reset?
One more finding in code is that while I debug to this line, it should write the data in stream and server should receive it but nothing happens:-
serverStream.Write(outStream, 0, outStream.Length);
Executing below lines will throws "java.net.SocketException: Connection reset" on server side.
serverStream.Flush();
serverStream.Close();