关于SOCKET的问题,高人请进~~

shark2004 2006-06-13 03:42:09
服务器端:
serv.sin_addr.s_addr=htonl(INADDR_ANY);
serv.sin_family=AF_INET;
serv.sin_port=5000;
addlen=sizeof(serv);
//创建SOCKET
sock=socket(AF_INET,SOCK_STREAM,0);
//绑定SOCKET
if(bind(sock,(sockaddr*)&serv,addlen))
{
theList.InsertItem(count++,"绑定失败");
}
else
{
listen(sock,5);
AfxBeginThread(&thread,0);
}
客户端:
tcpClient=new TcpClient();
IPHostEntry ipHost = Dns.Resolve(Dns.GetHostName());
IPAddress ipAddr = ipHost.AddressList[0];//获取本机内网IP
string ip=ipAddr.ToString();
//向指定的ip地址的服务器发送连接请求
//TODO: 读取配置文件中的端口以及服务器地址
string serverip=MyLogin.GetIniData("url","serverip");
string serverport=MyLogin.GetIniData("url","serverport");
tcpClient.Connect(IPAddress.Parse(serverip),Int32.Parse(serverport));
//UserAlias=txtAlias.Text;
Strm=tcpClient.GetStream();
//启动一个新的线程,执行方法this.ServerResponse(),响音服务器的消息
Thread thread=new Thread(new ThreadStart(this.ServerResponse));
thread.IsBackground=true;
thread.Start();

客户端连接时,提示“不能做任何连接,目标机器积极的拒绝它”

新手,请高人指点!!多谢
...全文
189 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
liuqian0415 2006-06-13
  • 打赏
  • 举报
回复
学习 学习
shark2004 2006-06-13
  • 打赏
  • 举报
回复
设断点运行了一下,客户端每一步都是正确的

测试时发现服务器端用以下代码时,连接正常:
CSocket sock;
if(sock.Create(5000))
{
sock.Listen(4);
AfxBeginThread(&thread,0);
}

很不理解,高手指点下
Knight94 2006-06-13
  • 打赏
  • 举报
回复
你调试一下你的客户端,看看连接过程中是否每一步都正确。
shark2004 2006-06-13
  • 打赏
  • 举报
回复
服务器和客户端是在同一台机器上运行的,没有安装防火墙
Knight94 2006-06-13
  • 打赏
  • 举报
回复
在服务器端,看看本机连本机是否正确。
Knight94 2006-06-13
  • 打赏
  • 举报
回复
的确,看看服务器端是否有什么网络限制。
podded 2006-06-13
  • 打赏
  • 举报
回复
新手顶
不是目标机器防火墙的原因吧..

110,533

社区成员

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

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

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