标题里实在不知道怎么写,本人刚学c#,要做一个B/S模式的小程序,但是遇到点问题。我设这么想的,我要做一个服务器,可以暂时看做简单聊天程序中的服务器,就是用TcpListener监听端口,然后响应客户端请求我要把服务器做成一个WinForm的形式,可以显示已连接的IP,而且有两个按钮:Start--开启服务器,用户可以连接,Stop--关闭服务器,终止所有连接例子找了好多,但是服务器都是用控制台做的,我在WinForm里不会做,我在Start的Click事件中使用While(TRUE),然后程序就死了不知道怎么改,请高手指点,怎么弄。最好有个简单的例子,有解决方法也可以,谢谢了
别想着自己写socket了。
----------------------------------------------------
不要在主线程处理,界面会被阻塞的。别开线程处理socket
//程序开始运行,监听话机
serverSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
IPAddress serverIP = IPAddress.Parse(ipaddressnow);
IPEndPoint serverhost = new IPEndPoint(serverIP, Convert.ToInt32(ipportnow));
serverSocket.Bind(serverhost);
serverSocket.Listen(200);
while(true)
{
try
{
//在套接字上接收接入的连接
Socket s = serverSocket.Accept();
clientSocket = s;
ListenClient lc = new ListenClient(clientSocket);
clientThread = new Thread(new ThreadStart(lc.ServerThreadProc));
clientThread.Start();
}
catch (Exception ex)
{
MessageBox.Show("listening Error: " + ex.Message);
}
}把接收到的和要处理的东东全部放到ListenClient类里面去处理.然后把信息返回给主线程就可以了.