高手帮我看下哪里有问题,
另外我重新调用connserver()方法的时候,窗体就会关闭这是为什么啊
private void Form3_Load(object sender, EventArgs e)
{
connserver();
} public void connserver()
{
TCPConnection conn = new TCPConnection(_ipAddr, _port);
TcpClient _tcpc = conn.Connect();
try
{
if (_tcpc == null)
{ timer2.Start();
txtserver.AppendText("没有链接到服务器,你讲不能正常接收服务器的及时消息!系统将在一分钟后重新链接!\r\n\r\n"); }
else
{
txtserver.AppendText("已成功链接到服务器,正在监听.....\r\n\r\n"); NetworkStream netstream = _tcpc.GetStream();
//向服务器发送用户名以确认身份
netstream.Write(Encoding.Unicode.GetBytes(_username), 0, Encoding.Unicode.GetBytes(_username).Length);
byte[] buffer = new byte[50];
netstream.Read(buffer, 0, buffer.Length);
_nws = netstream;
_receiveThread = new Thread(new ThreadStart(ReceiveMsg)); //创建线程
_receiveThread.Start(); //线程开始 }
}
catch (Exception ce)
{
MessageBox.Show("出现错异常了!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
private void ReceiveMsg()
{
while (true)
{
try
{
byte[] packet = new byte[_maxPacket];
_nws.Read(packet, 0, packet.Length);
string dis = Encoding.Unicode.GetString(packet); txtserver.AppendText(dis);
}
catch
{ MessageBox.Show("数据接收失败");
}
}
}
另外我重新调用connserver()方法的时候,窗体就会关闭这是为什么啊
private void Form3_Load(object sender, EventArgs e)
{
connserver();
} public void connserver()
{
TCPConnection conn = new TCPConnection(_ipAddr, _port);
TcpClient _tcpc = conn.Connect();
try
{
if (_tcpc == null)
{ timer2.Start();
txtserver.AppendText("没有链接到服务器,你讲不能正常接收服务器的及时消息!系统将在一分钟后重新链接!\r\n\r\n"); }
else
{
txtserver.AppendText("已成功链接到服务器,正在监听.....\r\n\r\n"); NetworkStream netstream = _tcpc.GetStream();
//向服务器发送用户名以确认身份
netstream.Write(Encoding.Unicode.GetBytes(_username), 0, Encoding.Unicode.GetBytes(_username).Length);
byte[] buffer = new byte[50];
netstream.Read(buffer, 0, buffer.Length);
_nws = netstream;
_receiveThread = new Thread(new ThreadStart(ReceiveMsg)); //创建线程
_receiveThread.Start(); //线程开始 }
}
catch (Exception ce)
{
MessageBox.Show("出现错异常了!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
private void ReceiveMsg()
{
while (true)
{
try
{
byte[] packet = new byte[_maxPacket];
_nws.Read(packet, 0, packet.Length);
string dis = Encoding.Unicode.GetString(packet); txtserver.AppendText(dis);
}
catch
{ MessageBox.Show("数据接收失败");
}
}
}
解决方案 »
- 事件注册的回调函数不能执行。分少了点,但问题很费解,求救
- 有关泛型....
- 在C#里面如何控制IME的composition window ?
- 如何在dataGridView的CellBeginEdit事件内实现 单元格 变成 下拉框
- webbrowser获取带有alert提示的网页的源码.
- 非常简单的C#问题 怎么在控制台(黑屏)下生成.dll
- C#里面如果要调用win32 api的话,如何catch api 的消息?
- (char)可以显式转化Int16,有些怎么转化不了?
- 能否根据文件扩展名得到关联的图标或图象?
- win32编程中如何获取模态窗体的句柄
- MicrosoftReportview微软报表问题,急!!
- 数据结构
connserver();外边加个try 试下,出异常了吧。