关于TcpListener和TcpClintd的即时通信疑惑~~~~

YJJ_XXML 2008-05-17 10:27:37
毕业设计做一个即时通信系统~~~,做了大半,但是服务器与客户端就是连不起来
把服务器和客户端分别写在了两个解决方案中~~,先运行服务器,运行正常,之后运行客户端,但是在连接之后,总是提示“由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败”
把主要代码粘贴如下~~,希望大家帮忙解或~~~~,在线给分~~~!

服务器:
if (server.IniServer(SerIP, SerPort))
{
server.StartServer();
}
//SerIP和SerPort是由窗体输入的本机IP 和端口号(取为5678)
//server.IniServer()和server.StartServer()为server类的灵两个成员函数,主要代码也粘贴如下
public bool IniServer(string ip, string port)
{
try
{
int ipPort = int .Parse(port );
IPAddress ipAdd = IPAddress.Parse(ip );
SerIPEndPoint = new IPEndPoint(ipAdd ,ipPort );

return (true );

}
catch
{
return (false);
}
}

public bool StartServer()
{
try
{
TcpListener = new TcpListener(SerIPEndPoint );
TcpListener.Start();//曾单句调试到这句时提示TcpListener.Start()”引发了 “System.Net.Sockets.SocketException”类型的异常,在其上下文中,该请求的地址无效
SerTh = new Thread(new ThreadStart (ServerIng ));
ServerRun = true;
SerTh.Start();
return (true);
}
catch
{
return (false);
}
}


客户端:
前面有个登录框,在输入用户帐号和密码后MainForm main = new MainForm(unm, pwd)。实例化主窗体,在主窗体中实现服务器端的验证
private void MainForm_Load(object sender, EventArgs e)
{

try
{
LoginNow ();

}
catch (Exception ex)
{
MessageBox.Show("登陆失败! 失败原因:"+ex .Message );
}
//其中LoginNow ()为主窗体的成员函数主要实现的是到服务器验证登录信息~~~因为中间也调用了其他类,就把主要的代码写出来
private void LoginNow()
{
TcpClient tcpclient = new TcpClient();
tcpclient.Connect(StrIp ,port );//StrIp ,port 是从前面服务器端输入的ip和port保存到文件中后读取的,应该没错 。到此调试的错误提示是Message="由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。 192.168.18.3:5678"
}



希望大家能帮帮忙阿~~,分不够定在加的~~~
...全文
126 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
vrhero 2008-05-20
  • 打赏
  • 举报
回复
TcpListener.Start();//曾单句调试到这句时提示TcpListener.Start()”引发了“System.Net.Sockets.SocketException”类型的异常,在其上下文中,该请求的地址无效
--------
服务器都没跑起来...看看地址对不对防火墙等等...

ps:QQ怎么会用这么低级的代码...一般IM大都用UDP很少用TCP的...QQ的TCP通信也只对会员开放...
YJJ_XXML 2008-05-20
  • 打赏
  • 举报
回复
连接不上呢~~~
那又什么解决方法不~~?
jzywh 2008-05-20
  • 打赏
  • 举报
回复
打开命令行窗口后输入

telnet localhost 5678
jzywh 2008-05-19
  • 打赏
  • 举报
回复
telnet address port

先用telnet来测试

telnet都连不上就是服务器段得问题了
YJJ_XXML 2008-05-19
  • 打赏
  • 举报
回复
那个源码我也有下~~ ,不过查了很多点对点的即时通信都是用到这种的

但是就是出现错误提示了~~~
grady.lu 2008-05-19
  • 打赏
  • 举报
回复
这不是QQ源代码里面的内容吗?
YJJ_XXML 2008-05-19
  • 打赏
  • 举报
回复
那个具体的用法能不能说说阿~~~,我还不会(都不好意思说出来的)~~~
YJJ_XXML 2008-05-18
  • 打赏
  • 举报
回复
怎么没人啊~~~自己再顶~~顶~~
YJJ_XXML 2008-05-17
  • 打赏
  • 举报
回复
自己先顶一个~~~

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧