TcpListener serverSocket = new TcpListener(ip, port);
TcpClient clientSocket =new TcpClient(); //default tcpclient socket;
serverSocket.Start();
counter = 0;
while (true)
{
counter += 1;
clientSocket = serverSocket.AcceptTcpClient();
Console.WriteLine(" >> " + "Client No:" + Convert.ToString(counter) + " started!");
LAN_Quiz.ClientHandle.HandleClient hc = new LAN_Quiz.ClientHandle.HandleClient();
hc.ClientHandlingStarted(clientSocket, counter.ToString());
//Get the client ip address
string clientIPAddress = "Your Ip Address is: " + IPAddress.Parse(((IPEndPoint)client.Client.RemoteEndPoint).Address.ToString()));
NetworkStream stream = client.GetStream();
..
...
} 在这里的Windows窗体应用程序中,我遇到了这样的问题:当我使用
clientSocket = serverSocket.AcceptTcpClient(); 和rest代码
但是它可以接受客户端的请求;现在如何解决这个问题,也请给我关于定时器使用的信息
发布于 2011-03-31 18:22:13
public partial class MyForm : Form
{
private Thread _serverThread;
public Form()
{
_serverThread = new Thread(ServerThread).Start();
}
private void ServerThread(object state)
{
//add the socket code here.
}
}这样就行了。然而,我不推荐它,因为它打破了单一责任原则(谷歌)。将所有套接字代码放在一个单独的类中(包括线程代码),并在主窗体中使用该类。
https://stackoverflow.com/questions/5483833
复制相似问题