C#实现一个可接收信息的服务器端?简易的
答案:2 悬赏:80 手机版
解决时间 2021-03-15 11:18
- 提问者网友:别再叽里呱啦
- 2021-03-14 22:01
C#实现一个可接收信息的服务器端?简易的
最佳答案
- 五星知识达人网友:woshuo
- 2021-03-14 22:33
private void button_start_Click(object sender, EventArgs e)
{
Thread a = new Thread(ser1);
IPEndPoint ip = new IPEndPoint(IPAddress.Parse(textBox1.Text), int.Parse(maskedTextBox2.Text));
Socket ser = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
ser.Bind(ip);
ser.Listen(20);
a.IsBackground = true;
a.Start(ser);
}
private void ser1(object o)//用户端登陆监听
{
Socket listen, lis = (Socket)o;
while (true)
{
try
{
listen = lis.Accept();
Thread a = new Thread(receive);
a.IsBackground = true;
a.Start(listen);
}
catch { }
}
}
private void receive(object o)//接受处理用户登陆消息
{
string ss = "";//保存接受到的消息
Socket newsocket = (Socket)o;
byte[] bb = new byte[1024];
try
{
bb = new byte[1024];
newsocket.Receive(bb, bb.Length, 0);
}
catch { return; }
ss = System.Text.Encoding.BigEndianUnicode.GetString(bb);
//后面就可以处理收到的信息了
}
{
Thread a = new Thread(ser1);
IPEndPoint ip = new IPEndPoint(IPAddress.Parse(textBox1.Text), int.Parse(maskedTextBox2.Text));
Socket ser = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
ser.Bind(ip);
ser.Listen(20);
a.IsBackground = true;
a.Start(ser);
}
private void ser1(object o)//用户端登陆监听
{
Socket listen, lis = (Socket)o;
while (true)
{
try
{
listen = lis.Accept();
Thread a = new Thread(receive);
a.IsBackground = true;
a.Start(listen);
}
catch { }
}
}
private void receive(object o)//接受处理用户登陆消息
{
string ss = "";//保存接受到的消息
Socket newsocket = (Socket)o;
byte[] bb = new byte[1024];
try
{
bb = new byte[1024];
newsocket.Receive(bb, bb.Length, 0);
}
catch { return; }
ss = System.Text.Encoding.BigEndianUnicode.GetString(bb);
//后面就可以处理收到的信息了
}
全部回答
- 1楼网友:梦中风几里
- 2021-03-14 23:03
客户端之间的通讯有两个办法。
1. 服务器中转
2. 服务器上注册后,客户端之间直接通信。
对于第一种方法,大多比较简单。查一下socket的文章,还有大把现成的代码给你看。
第二个方法就稍微复杂一些。
但原理都一样。客户端a,链接服务器后,地址信息就保存到了服务器上。除了保持与服务器的通信外。另外开启一个 socket,绑定到另一个端口,并且一直监听此端口。
客户端b连接服务器,从服务器上获取客户端a的地址信息。把客户端a当成服务器,连接a。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯