我正在审核语音聊天应用程序的源代码。
这里我想运行服务器程序,以便任何客户端都可以联系服务器进行语音聊天。要运行我的服务器程序,我必须传递我将用于语音聊天的服务器名称,端口号和网络接口,在传递必需的参数后,我必须调用ServerStart方法,这是通过在设计视图中单击Start Checkbox来完成的。如果user没有传递适当类型的参数,然后通过调用ShowError()方法显示错误。
现在,当我传递serverName,端口号和网络接口时,serverName变量引用为null而不是传递的serverName参数。
为什么在运行服务器程序时抛出异常,异常为“未找到源,但无法搜索部分或全部事件日志。无法访问的日志:安全性。”
public partial class ServerWindow
{
private ChatServer server;
public delegate void SetListBoxItem(string str, string type);
public ServerWindow()
{
InitializeComponent();
ObtainNetworkInterfaces();
}
private void cbStartStop_Checked(object sender, RoutedEventArgs e)
{
if (cbStartStop.IsChecked == true)
{
// validate the port number
try
{
var port = Int32.Parse(tbPortNumber.Text);
server = new ChatServer(port, cbInterfaces.SelectedItem, tbServerName.Text);
server.ClientConnected += ServerOnClientConnected;
server.ClientDisconnected += ServerOnClientDisconnected;
var serverName = tbServerName.Text;
if (string.IsNullOrWhiteSpace(serverName))
{
ShowError();
}
else
{
server.StartServer();
SetControls(false);
}
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
}
else
{
if (server == null)
return;
server.StopServer();
SetControls(true);
}
}
private void ShowError()
{
MessageBox.Show(@"Please enter valid port number and/or server name");
cbStartStop.IsChecked = false;
}