public void Configuration()
{
try
{
Int32 port = 8088;
IPAddress localAddr =Dns.GetHostByName(Dns.GetHostName()).AddressList[0];//IPAddress.Parse("127.0.0.1");
ep = new IPEndPoint(localAddr,port);
serverSocket = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
serverSocket.Bind(ep);
serverSocket.Listen(4);
MessageBox.Show("配制服务器成功!");
serverExist = true;
this.menuItem2.Enabled = false;
this.menuItem3.Enabled = true;
}
catch(Exception ex)
{
MessageBox.Show(ex.ToString());
}
SocketList = new ArrayList(4);
flag = 0;
for(int i=0;i<4;i++)
{
Socket ClientSocket = serverSocket.Accept();
SocketList.Add(ClientSocket);
//MessageBox.Show(i.ToString()+" now the flag ="+flag.ToString());
ThreadStart myThreadDelegate = new ThreadStart(setListener);
Thread myThread = new Thread(myThreadDelegate);
myThread.Start();
}
}
private void menuItem2_Click(object sender, System.EventArgs e)
{
ThreadStart BeginListen = new ThreadStart(Configuration);
Thread myThread = new Thread(BeginListen);
myThread.Start();
}
public void beginReceive()
{
byte[] data;
while(true)
{
data = new byte[1024];
int count = clientSocket.Receive(data);
string revString = Encoding.Default.GetString(data,0,count);
this.listBoxChatContent.Items.Add(revString);
}
}
public void runClient()
{
string revString = String.Empty;
byte[] data = new byte[1024];
int count = clientSocket.Receive(data);
revString = Encoding.Default.GetString(data,0,count);
this.listBoxChatContent.Items.Add(revString);
ThreadStart BeginListen = new ThreadStart(beginReceive);
ClientRevThread = new Thread(BeginListen);
ClientRevThread.Start();