Beispiel #1
0
        /// <summary>
        /// 客户端消息序列化(注册/登录)
        /// </summary>
        /// <param name="_receiver">接受者</param>
        /// <param name="_type">类型</param>
        /// <param name="_username">用户名</param>
        /// <param name="_psw">密码</param>
        /// <param name="_mail">邮箱</param>
        /// <returns></returns>
        public static string client_account_serialization(string _receiver, string _type, string _username, string _psw, string _mail, string _key)
        {
            clientJson one = new clientJson()
            {
                receiver = _receiver, type = _type, username = _username, psw = _psw, mail = _mail, key = _key
            };

            return(JsonConvert.SerializeObject(one));
        }
Beispiel #2
0
        /// <summary>
        /// 客户端消息序列化(发送消息/查找好友)
        /// </summary>
        /// <param name="_receiver">接受者</param>
        /// <param name="_type">类型</param>
        /// <param name="_msg">消息</param>
        /// <param name="_key">用户的凭证,退出即销毁</param>
        /// <returns></returns>
        public static string client_msg_serialization(string _receiver, string _type, string _username, string _msg, string _key)
        {
            clientJson one = new clientJson()
            {
                receiver = _receiver, type = _type, username = _username, msg = _msg, key = _key
            };

            return(JsonConvert.SerializeObject(one));
        }
Beispiel #3
0
        private void Receive(object obj)
        {
            Socket     client      = obj as Socket;
            IPEndPoint point       = client.RemoteEndPoint as IPEndPoint;
            clientJson userMsgJSON = new clientJson();

            try
            {
                byte[] _msg   = new byte[1024];
                int    msgLen = client.Receive(_msg);
                if (msgLen == 0)
                {
                    return;
                }
                clientMsg = JsonHelper.server_local_interactive_serialization(point.ToString(), Encoding.UTF8.GetString(_msg, 0, msgLen));
                var IPPortJSON = JsonHelper.server_local_interactive_deserialization(clientMsg);
                var IPport     = IPPortJSON.IPPort;
                userMsgJSON = JsonHelper.client_deserialization(IPPortJSON.msg);
                switch (userMsgJSON.type)
                {
                case "login":
                    var msg = loginClass.loginCheck(userMsgJSON.username, userMsgJSON.psw, IPport);
                    Send(JsonHelper.server_local_interactive_serialization(IPport, msg));
                    connection_status = JsonHelper.server_local_interactive_serialization("login", point.ToString(), "[" + userMsgJSON.username + "]", "尝试登录");
                    break;

                case "msg":
                    setMsgClass.setMsg(userMsgJSON.username, userMsgJSON.receiver, userMsgJSON.msg, userMsgJSON.key);
                    break;

                case "searchfriends":
                    Send(searchfriendsClass.searchfriends(userMsgJSON.username, userMsgJSON.msg, userMsgJSON.key, IPport));
                    break;

                case "addfriends":

                    Send(addfriendsClass.addfriends(IPport, userMsgJSON.username, userMsgJSON.msg, userMsgJSON.key));
                    break;

                case "gethistory":
                    Send(gethistoryClass.gethistory(IPport, userMsgJSON.receiver, userMsgJSON.username, userMsgJSON.key));
                    break;

                case "removefriends":

                    Send(removefriendsClass.removefriends(IPport, userMsgJSON.receiver, userMsgJSON.username, userMsgJSON.key));
                    break;

                default:
                    break;
                }



                clientMsg = "";
                Receive(client);
            }
            catch (Exception)
            {
                foreach (var item in sockets)
                {
                    if (item.RemoteEndPoint.ToString() == point.ToString())
                    {
                        login_information.userLogin(null, point.ToString(), "resign");
                        connection_status = JsonHelper.server_local_interactive_serialization("discon", point.ToString(), userMsgJSON.username, "已断开");
                    }
                }
            }
        }