| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1516 人关注过本帖, 1 人收藏
标题:[求助]QQ客户端与服务器的通信问题
只看楼主 加入收藏
leiniao
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2006-3-5
收藏(1)
 问题点数:0 回复次数:3 
[求助]QQ客户端与服务器的通信问题

下面是我简单模仿了一个登陆界面.
客户端与服务器端都是在自己的机子上运行的.
运行后提示这样的错误
"System.Net.Sockets.SocketException: 由于目标机器积极拒绝,无法连接。"

帮忙看一下是什么意思.

下面是我的代码
写的很烂
见笑


服务器端:
private void Listen()
{
try
{

tcp1=new TcpListener(5657);
tcp1.Start();
textBox1.Text="正在监听";
while(listenrun)
{
//新建立的连接用套接字s表示
Socket s=tcp1.AcceptSocket();

//接收客户端的信息
byte[] a=new byte[100];
int i=s.Receive(a);
ASCIIEncoding asen=new ASCIIEncoding();

byte []b=new byte[100];
byte []c=new byte[100];

for(int k=0;k<=4;k++)
{
b[k]=a[k];
}

string s2=System.Text.Encoding.UTF8.GetString(b);
for(int m=5;m<i;m++)
{
c[m]=a[m];
}

string s3=System.Text.Encoding.UTF8.GetString(c);

if(s2=="login")
{

string str="Persist Security Info=False;Initial Catalog=qq;";
str+="Data Source=xingxing;Integrated Security=SSPI;";
SqlConnection Con=new SqlConnection(str);
Con.Open();

string SQL="select * from qqhao ";
if(SQL==s3)
{

s.Send(asen.GetBytes("right"));
s.Close();
tcp1.Stop();


}
else
{
s.Send(asen.GetBytes("wrong"));



}
}


}
}

catch(Exception)
{
textBox1.Text="错误";
}
}


/// <summary>
/// 应用程序的主入口点。
/// </summary>[STAThread]
static void Main()
{
Application.Run(new Form1());
}

private void button1_Click(object sender, System.EventArgs e)
{
th=new Thread(new ThreadStart(Listen));
th.Start();

}
}
}


客户端:

IPHostEntry myip=Dns.GetHostByName((Dns.GetHostName()));
IPAddress []ip=myip.AddressList;
strip=ip[0].ToString();
str1=textBox1.Text.ToString();
str2=textBox1.Text.ToString();
str3="login";

str="str3"+"str1"+"str2";

TcpClient tcp1=new TcpClient();
tcp1.Connect("192.168.1.101",8889);
Stream stm=tcp1.GetStream(); //得到客户端的流
ASCIIEncoding asen=new ASCIIEncoding();


byte []b=asen.GetBytes(str);
stm.Write(b,0,b.Length);

//接收服务器返回信息

byte []bb=new byte[100];
int k=stm.Read(bb,0,100);
st=System.Text.Encoding.UTF8.GetString(bb);
if(st=="right")
{
MessageBox.Show("chenggong");
}
else
{
MessageBox.Show("shibai");
}

写的太烂了
不好的地方请帮忙改正一下
谢谢

搜索更多相关主题的帖子: 服务器 客户端 通信 
2006-04-25 02:17
唐伯猫
Rank: 8Rank: 8
等 级:贵宾
威 望:45
帖 子:5323
专家分:58
注 册:2005-8-9
收藏
得分:0 
把机器IP地址和端口号改正确就可以了.(在自己机器上运行当然是改成自己机器IP和端口了)

<iframe name="alimamaifrm" frameborder="0" marginheight="0" marginwidth="0" border="0" scrolling="no" width="300" height="170" src="/go/app/tbk_app/chongzhi_300_170.php?pid=mm_28854300_2441872_11377541&page=chongzhi_300_170.php&size_w=300&size_h=170&stru_phone=1&stru_game=1&stru_travel=1" ></iframe>
2006-04-25 11:25
leiniao
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2006-3-5
收藏
得分:0 
tcp1=new TcpListener(5657);
是这里改成自己的IP吗
tcp1=new TcpListener("IP地址",5657);
改成这样后还是提示那个
"System.Net.Sockets.SocketException: 由于目标机器积极拒绝,无法连接。"
是什么意思呢
2006-04-25 13:39
月夜枫华
Rank: 4
等 级:贵宾
威 望:12
帖 子:437
专家分:42
注 册:2006-1-2
收藏
得分:0 
还是端口错误.
服务端用哪个端口进行侦听(比如12345),客户端就直接连接服务端IP地址和端口12345就行了,至于客户端使用哪个端口与服务端的12345连接你不需要关心,也不需要指定,这个端口是系统指定的,而且常常是变化的.

2006-04-26 03:29
快速回复:[求助]QQ客户端与服务器的通信问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026581 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved