C#网络编程,A客户端如何获取B客户端发送到服务器的信息

时间:2021-08-02 23:55:07
我现在做一个类似QQ的聊天工具,B客户端通过服务器发送消息给A,然后如何实现A从服务器接收发送给自己的消息。核心代码该怎么写?急求!在线等!

        private void Accept(IAsyncResult iar) //参数为异步操作的状态
        {
            try
            {
                Socket socket = (Socket)iar.AsyncState;
                Socket NewSocket = socket.EndAccept(iar);   //异步接受传入的连接尝试,并创建新的 Socket 来处理远程主机通信
                strRemoteIPEndPoint = NewSocket.RemoteEndPoint.ToString();
                listSocketsConnected.Add(NewSocket);
                this.Invoke(AddNewMessage, new object[] { DateTime.Now.ToString(), "连接" + strRemoteIPEndPoint });
                //this.Invoke(AddNewMessage, new object[] { DateTime.Now.ToString(), "连接" + NewSocket.RemoteEndPoint.ToString() });
                //lstbxMessage.Items.Add("连接"+NewSocket.RemoteEndPoint.ToString() + "  " + DateTime.Now.ToString());           
                socket.BeginAccept(new AsyncCallback(Accept), socket);
           
                //开始从连接的 Socket 中异步接收数据1024个字节到RevData
                NewSocket.BeginReceive(RevData, 0, 1024, SocketFlags.None, new AsyncCallback(Receive), NewSocket);  
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }

        }

7 个解决方案

#1


C#网络编程,A客户端如何获取B客户端发送到服务器的信息

#2


C#网络编程,A客户端如何获取B客户端发送到服务器的信息
这说几天几夜也说不完。

#3


去下个开源的 QQ聊天 源代码来分析下 不就结了。

#4


仿QQ聊天工具  不是QQ聊天 补充下。

#5


服务器转发 C#网络编程,A客户端如何获取B客户端发送到服务器的信息

#6


A连接到服务器,连接成功后,同样开始等待接收数据,同步异步随你。
A端:socket.connect(...);
    if(socket.connected)
    {
        socket.accept(...);
    }
具体可以看msdn自己学习。

#7


应该把消息存到服务器的数据库中,A从数据库取就好了。

#1


C#网络编程,A客户端如何获取B客户端发送到服务器的信息

#2


C#网络编程,A客户端如何获取B客户端发送到服务器的信息
这说几天几夜也说不完。

#3


去下个开源的 QQ聊天 源代码来分析下 不就结了。

#4


仿QQ聊天工具  不是QQ聊天 补充下。

#5


服务器转发 C#网络编程,A客户端如何获取B客户端发送到服务器的信息

#6


A连接到服务器,连接成功后,同样开始等待接收数据,同步异步随你。
A端:socket.connect(...);
    if(socket.connected)
    {
        socket.accept(...);
    }
具体可以看msdn自己学习。

#7


应该把消息存到服务器的数据库中,A从数据库取就好了。