socket 同步传输可不可以实现一个服务器与两个客户端之间传输

xgxfeng 2009-04-10 09:15:50
如题所示,最好能提供一点示例, 在此感谢!
...全文
145 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
深海之蓝 2009-04-11
  • 打赏
  • 举报
回复
当然可以实现
talen_lu 2009-04-11
  • 打赏
  • 举报
回复
可以p2p
也就是打打洞
就不需要服务器转发了。
xgxfeng 2009-04-11
  • 打赏
  • 举报
回复
private void accp()
{
myServer = new IPEndPoint(myIP, 8080);
sock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
sock.Bind(myServer);
sock.Listen(40);
while (check)
{
accsock = sock.Accept();
if (accsock.Connected)
{
MessageBox.Show("已经与PDA建立连接");
try
{
tr = new Thread(new ThreadStart(round));
tr.Start();
}
catch(Exception ce) { MessageBox.Show("已与PDA断开连接!"+ce); }
}

}
}


private void round()////我觉主要是这个函数需要改进,但我不知道怎么改,才能使它与两个客户端同步接发数据。
{
//sendFeedback(ref accsock, "<OK>");
while (true)
{
try
{
commandString = readFromClient(ref accsock);
command = getCommand(commandString);
parameter = getParmeter(commandString);
}
catch(Exception ce)
{ MessageBox.Show("已与PDA断开连接!!");
this.tr.Abort();
}
if (command == "LIST")
{
try
{
string[] str = new string[100];
string dir = null;
MessageBox.Show(parameter);
this.Connection();
Byte[] sendByte = new Byte[64];

for (int i = 0;i< PDA_A.Length;i++)
{
send=send+PDA_A[i].ToString() + "\r";
}
sendFeedback(ref sock,send);
}
catch (Exception ce)
{
MessageBox.Show(ce.ToString());
}
}
}
}
xgxfeng 2009-04-11
  • 打赏
  • 举报
回复
大侠们,你们最好给我点示例行不,光说理论我是搞不懂的。——现在我就想写一个程序,我的客户端只有两个,占不了多少资源。我也知道要用到多线程!服务器监听用一个线程,开启客户端用一个线程。我现在遇到的问题是——如果我只开启一个客户端,发送与接收数据没问题。但同时开第二个客户端时,发送与接收就出问题了,第二个客户端卡死了!
xgxfeng 2009-04-11
  • 打赏
  • 举报
回复
大侠们,你们最好给我点示例行不,光说理论我是搞不懂的。——现在我就想写一个程序,我的客户端只有两个,占不了多少资源。我也知道要用到多线程!服务器监听用一个线程,开启客户端用一个线程。我现在遇到的问题是——如果我只开启一个客户端,发送与接收数据没问题。但同时开第二个客户端时,发送与接收就出问题了,第二个客户端卡死了!
li_dao_hang_1989 2009-04-10
  • 打赏
  • 举报
回复
up……
Dobzhansky 2009-04-10
  • 打赏
  • 举报
回复
一个 socket 是一对某物之间的连接,
某物 = ip 地址 + 端口号 + (tcp or udp or ...)

多个客户端需要消耗服务器端的多个 socket.

局域网内多播, 广播?
Myth_NiuNiu 2009-04-10
  • 打赏
  • 举报
回复
学习,支持楼主

110,534

社区成员

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

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

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