proxy-server-sharp/ProxyServerSharp/MainForm.cs

69 lines
2.0 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace ProxyServerSharp
{
public partial class MainForm : Form
{
SOCKS4Server server;
public MainForm()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
for (int i = 8; i < 16; i++)
transferUnitSizeComboBox.Items.Add(Math.Pow(2, i).ToString());
transferUnitSizeComboBox.SelectedIndex = 4;
}
void server_RemoteConnect(object sender, System.Net.IPEndPoint iep)
{
if (this.InvokeRequired)
{
this.BeginInvoke(new MethodInvoker(delegate()
{
debugTextBox.AppendText("Connecting to " + iep.ToString() + "\r\n");
}));
}
}
void server_LocalConnect(object sender, System.Net.IPEndPoint iep)
{
if (this.InvokeRequired)
{
this.BeginInvoke(new MethodInvoker(delegate()
{
debugTextBox.AppendText("Connection from " + iep.ToString() + "\r\n");
}));
}
}
private void startProxyButton_Click(object sender, EventArgs e)
{
if (startProxyButton.Text == "Start")
{
server = new SOCKS4Server(int.Parse(portTextBox.Text),
int.Parse((string)transferUnitSizeComboBox.SelectedItem));
server.LocalConnect += new ConnectEventHandler(server_LocalConnect);
server.RemoteConnect += new ConnectEventHandler(server_RemoteConnect);
server.Start();
statusLabel.Text = "Started";
startProxyButton.Text = "Stop";
}
else
{
//
}
}
}
}