110,529
社区成员
发帖
与我相关
我的任务
分享
private void bt_Connect_Click(object sender, EventArgs e)
{
int port = 0;
IPAddress serverIP;
IPEndPoint serverFullAddr;
port = 123;
serverIP = IPAddress.Parse("219.126.131.83");
serverFullAddr = new IPEndPoint(serverIP,port);
socket = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
socket.Connect(serverFullAddr);
}
private void bt_Connect_Click(object sender, EventArgs e)
{
int port = 0;
IPAddress serverIP;
IPEndPoint serverFullAddr;
port = 123;
serverIP = IPAddress.Parse("219.126.131.83");
serverFullAddr = new IPEndPoint(serverIP,port);
socket = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
try
{
socket.Connect(serverFullAddr);
}
catch
{
timer1.start();
}
}
private void timer1_Tick(object sender, EventArgs e)
{
int port = 0;
IPAddress serverIP;
IPEndPoint serverFullAddr;
port = 123;
serverIP = IPAddress.Parse("219.126.131.83");
serverFullAddr = new IPEndPoint(serverIP,port);
socket = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
try
{
socket.Connect(serverFullAddr);
}
catch
{
return;
}
timer1.stop();
}
void OnDoWork(object sender, DoWorkEventArgs e)
{
while (_messages.Count > 0)
{
TcpClient client = new TcpClient();
try
{
client.Connect(IPAddress.Parse(_activeHost.IP), _activeHost.Port);
string message = _messages.Dequeue();
byte[] buffer = Encoding.Unicode.GetBytes(message);
client.Client.Send(buffer);
Log(new MessageEventArgs(message, _messages.Count, MessageStatus.Success, null));
}
catch (SocketException ex)
{
_hasFailures = true;
string[] messages = _messages.ToArray();
Log(new MessageEventArgs(null, _messages.Count, MessageStatus.Failure, ex.Message));
_messages.Clear();
//save array to file
StringBuilder allMessages = new StringBuilder();
foreach (string message in messages)
{
allMessages.Append(message + Environment.NewLine);
}
File.AppendAllText(_filepath, allMessages.ToString(), Encoding.UTF8);
//failover
_activeHost = FindHost();
}
finally
{
if (client.Connected)
{
client.Client.Shutdown(SocketShutdown.Both);
client.Client.Disconnect(false);
}
}
}
_backgroundWorker = null;
}