首页 新闻 搜索 专区 学院

点对点通信!!!!

0
悬赏园豆:5 [已关闭问题]

asp.net一个应用程序,里面有多个用户,当多个用户都在线时,用什么技术实现点对点通信?高手指教一下,谢谢啦。

地瓜的爱的主页 地瓜的爱 | 初学一级 | 园豆:95
提问于:2010-08-05 20:41
< >
分享
其他回答(3)
0
WizardWu | 园豆:1402 (小虾三级) | 2010-08-06 00:24
0
Astar | 园豆:40805 (高人七级) | 2010-08-06 08:09

这个不是p2p

支持(0) 反对(0) today4king | 园豆:3299 (老鸟四级) | 2011-11-16 15:40
0

挺麻烦的,Astar WizardWu 说的都不对,无法在Asp.net中实现,

1,在Asp.net中Flash ,silverlight或你自己写的ActiveC控件;

2,通过服务器中转,服务器保存临时的聊天信息列表,页面通过java script定时轮循查询;

Launcher | 园豆:45045 (高人七级) | 2010-08-06 09:19
0

在winform 下 Socket通讯。

发送信息:

IPAddress ip = Dns.GetHostAddresses(GlobalInfo.IP).GetValue(0) as IPAddress;
IPEndPoint serverFullAddr
= new IPEndPoint(ip, GlobalInfo.Port);
Socket sock
= new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
sock.SetSocketOption(SocketOptionLevel.Tcp, SocketOptionName.NoDelay,
0);
try
{
//建立与短信程序的连接
sock.Connect(serverFullAddr);

byte[] byteSend = System.Text.Encoding.UTF8.GetBytes(Content.ToCharArray());
sock.Send(byteSend);

WriteLog(string.Format(
"目标{0}[{1}]发送成功。", GlobalInfo.IP, GlobalInfo.Port));
}
catch (SocketException ex)
{
WriteLog(string.Format(
"目标{0}[{1}]发送失败[{2}]。", GlobalInfo.IP, GlobalInfo.Port, ex.Message));
}

接收信息:

 

Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress,
1);
try
{
socket.Bind(
new IPEndPoint(IPAddress.Parse(Info.IP), int.Parse(Info.PORT)));
socket.Listen((
int)SocketOptionName.MaxConnections);
while (true)
{
Socket a
= socket.Accept();
if (a.Connected)
{
byte[] stream = new byte[80];
a.Receive(stream);
string message
= System.Text.Encoding.UTF8.GetString(stream);
InsertRechText ins
= new InsertRechText(Insert);
Invoke(ins,
new object[] { message });
}
if (isover)
return;
}
}
catch (Exception ex)
{
WriteLog(string.Format(
"接收信息失败。[{0}]", ex.Message));
throw ex;
}
finally
{
socket.Close();
}

 

如果是web下的麻烦一点。

但是也是可以实现的。但是可能就不是点对点的发送信息了。应该是"拉"操作。把需要在第三方进行托管。然后两个“点”从托管方来拉信息。

邢少 | 园豆:10926 (专家六级) | 2010-08-06 17:45
谢谢啦
支持(0) 反对(0) 地瓜的爱 | 园豆:95 (初学一级) | 2010-08-06 20:32
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册