Skip to content

Commit

Permalink
support ipv6 hosts
Browse files Browse the repository at this point in the history
  • Loading branch information
paukr committed Jan 4, 2018
1 parent 76e2ca5 commit fd066d7
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 23 deletions.
4 changes: 2 additions & 2 deletions Auremo/Properties/AssemblyInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -51,5 +51,5 @@
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("0.8.0.0")]
[assembly: AssemblyFileVersion("0.8.0.0")]
[assembly: AssemblyVersion("0.8.1.0")]
[assembly: AssemblyFileVersion("0.8.1.0")]
46 changes: 25 additions & 21 deletions Auremo/Threads/ServerSessionThread.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@

using System;
using System.Collections.Generic;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading;
Expand Down Expand Up @@ -161,32 +162,35 @@ private void Connect()
{
while (!Terminating && m_Connection == null)
{
m_Connection = new TcpClient();
m_Connection.SendTimeout = m_Timeout;
m_Connection.ReceiveTimeout = m_Timeout;
bool fatal = false;

try
{
m_DataModel.NetworkLog?.LogMessage("Trying to connect to server");
m_Parent.OnConnectionStateChanged(ServerSession.SessionState.Connecting);
m_Parent.OnActivityChanged("");
IAsyncResult connectResult = m_Connection.BeginConnect(m_Host, m_Port, null, null);

while (!connectResult.IsCompleted && !Terminating)
foreach (var address in Dns.GetHostAddresses(m_Host))
{
Thread.Sleep(100);
}
m_Connection = new TcpClient(address.AddressFamily);
m_Connection.SendTimeout = m_Timeout;
m_Connection.ReceiveTimeout = m_Timeout;
m_DataModel.NetworkLog?.LogMessage("Trying to connect to server");
m_Parent.OnConnectionStateChanged(ServerSession.SessionState.Connecting);
m_Parent.OnActivityChanged("");
IAsyncResult connectResult = m_Connection.BeginConnect(address, m_Port, null, null);

if (Terminating)
{
m_Connection = null;
}
else
{
m_Connection.EndConnect(connectResult);
m_Stream = m_Connection.GetStream();
m_DataModel.NetworkLog?.LogMessage("Connected to server");
while (!connectResult.IsCompleted && !Terminating)
{
Thread.Sleep(100);
}

if (Terminating)
{
m_Connection = null;
}
else
{
m_Connection.EndConnect(connectResult);
m_Stream = m_Connection.GetStream();
m_DataModel.NetworkLog?.LogMessage("Connected to server");
}
break;
}
}
catch (Exception e)
Expand Down

0 comments on commit fd066d7

Please sign in to comment.