📄 operationcenter.cs
字号:
t_MType = t_BReader.ReadChar();
if (t_MType == MESSAGE_TYPE_REQUESTFRIEND)
{
//In:
//UID,NICKNAME
int t_UID;
string t_NickName;
t_UID = t_BReader.ReadInt32();
t_NickName = t_BReader.ReadString();
if (EstimateMessage(t_NickName + "(" + t_UID + ")" + global::JPMLab_LanTalker_Client.Properties.Resources.STR_MSG_WANTTOBEFRIEND, global::JPMLab_LanTalker_Client.Properties.Resources.STR_MSGT_ADDFRIEND) == frmMessage.MR_YES)
{
_bWriter.Write(MESSAGE_TYPE_AGEEBEFRIEND);
_bWriter.Write(t_UID);
_bWriter.Write(t_NickName);
_bWriter.Flush();
}
}
else if (t_MType == MESSAGE_TYPE_AGEEBEFRIEND)
{
icUser t_User = new icUser();
///In:
///FLD_UID,FLD_NICKNAME
///FLD_HEADPIC,FLD_MYSHOW,FLD_SEX,FLD_BIRTHDAY
///FLD_BEWRITE,FLD_OPENTIME,FLD_LASTTIME,FLD_LASTIP
t_User._uID = t_BReader.ReadInt32();
t_User._nickName = t_BReader.ReadString();
t_User._headPic = t_BReader.ReadInt32();
t_User._myShow = t_BReader.ReadInt32();
t_User._sex = t_BReader.ReadInt32();
t_User._birthDay = t_BReader.ReadString();
t_User._bewrite = t_BReader.ReadString();
t_User._openTime = t_BReader.ReadString();
t_User._lastTime = t_BReader.ReadString();
t_User._lastIP = t_BReader.ReadString();
int t_n, t_c;
t_c = _FriendList.Count;
for (t_n = 0; t_n < t_c; t_c++)
{
if (((icUser)_FriendList[t_n])._uID == t_User._uID)
{
break;
}
}
if (t_n == t_c)
{
_FriendList.Add(t_User);
}
SureMessage(t_User._nickName + "(" + t_User._uID + ")" + global::JPMLab_LanTalker_Client.Properties.Resources.STR_MSG_BEFRIEND, global::JPMLab_LanTalker_Client.Properties.Resources.STR_MSGT_ADDFRIEND);
}
else if (t_MType == MESSAGE_TYPE_MESSAGE)
{
int t_n, t_c;
frmTalk t_frmT;
icMessage t_Msg = new icMessage();
t_Msg._UID = t_BReader.ReadInt32();
t_Msg._Message = t_BReader.ReadString();
_MsgBuffer.Add(t_Msg);
t_c = _TalkFormList.Count;
for (t_n = 0; t_n < t_c; t_n++)
{
t_frmT = (frmTalk)_TalkFormList[t_n];
if (t_frmT._HisUID == t_Msg._UID)
{
if (t_Msg._Message.Length > 0)
{
t_frmT.AddMessage(t_Msg._Message);
}
break;
}
}
if( t_n==t_c && _keepAlarm == false)
{
new Thread(new ThreadStart(thdfunMsgAlarmer)).Start();
}
}
else if (t_MType == MESSAGE_TYPE_COMMAND)
{
char t_CType;
t_CType = t_BReader.ReadChar();
if (t_CType == MSGCMD_TYPE_MESSAGE)
{
SureMessage(t_BReader.ReadString(), global::JPMLab_LanTalker_Client.Properties.Resources.STR_MSGT_SYSMESSAGE);
}
}
t_BReader.Close();
t_BWriter.Close();
t_NStream.Close();
t_socSession.Close();
}
}
catch (Exception e)
{
SureMessage(e.Message, global::JPMLab_LanTalker_Client.Properties.Resources.STR_MSGT_FAILOPERATE);
}
}
static void thdfunMsgListener()
{
try
{
while (_keepListen)
{
_tempSession = _socListener.AcceptSocket();
if (_keepAnswer == true)
{
new Thread(new ThreadStart(thdfunSession)).Start();
}
}
}
catch (Exception e)
{
throw e;
}
}
/// <summary>
/// Listener function
/// </summary>
static void StartListener()
{
try
{
if (_thdMsgListener != null)
{
_thdMsgListener.Abort();
_thdMsgListener = null;
}
}
catch (Exception e)
{
SureMessage(e.Message, global::JPMLab_LanTalker_Client.Properties.Resources.STR_MSGT_FAILOPERATE);
}
while (true)
{
try
{
_socListener = new TcpListener(_my_Port);
_socListener.Start();
_thdMsgListener = new Thread(new ThreadStart(thdfunMsgListener));
_thdMsgListener.Start();
break;
}
catch (Exception e)
{
_my_Port += 1;
}
}
}
public static void StopListener()
{
try
{
_keepListen = false;
_keepAnswer = false;
System.Net.Sockets.TcpClient t_socVLink = new TcpClient();
t_socVLink.Connect(_my_Address, _my_Port);
t_socVLink.Close();
/*
if (_thdMsgListener != null)
{
_thdMsgListener.Abort();
_thdMsgListener = null;
}
*/
}
catch (Exception e)
{
System.Console.WriteLine(e.Message);
// SureMessage(e.Message, global::JPMLab_LanTalker_Client.Properties.Resources.STR_MSGT_FAILOPERATE);
}
}
/// <summary>
/// Net currency function
/// </summary>
/// <returns></returns>
public static bool LinkServer()
{
try
{
if (_socServerLink == null)
{
_socServerLink = new TcpClient();
_socServerLink.Connect(_server_Address, _server_Port);
_bWriter = new BinaryWriter(_socServerLink.GetStream());
_bReader = new BinaryReader(_socServerLink.GetStream());
}
else if (_bWriter == null)
{
_bWriter = new BinaryWriter(_socServerLink.GetStream());
}
else if (_bReader == null)
{
_bReader = new BinaryReader(_socServerLink.GetStream());
}
return true;
}
catch (Exception e)
{
_socServerLink = null;
System.Console.WriteLine(e.Message);
//SureMessage(e.Message, global::JPMLab_LanTalker_Client.Properties.Resources.STR_MSGT_EXCEPTION);
}
return false;
}
public static bool DisconnectServer()
{
try
{
if (_socServerLink != null)
{
_bWriter.Write(MESSAGE_TYPE_EXIT);
_bReader.Close();
_bWriter.Close();
_socServerLink.Close();
return true;
}
return true;
}
catch (Exception e)
{
System.Console.Write(e.Message);
//SureMessage(e.Message, global::JPMLab_LanTalker_Client.Properties.Resources.STR_MSGT_EXCEPTION);
}
return false;
}
public static void RegisterNewUser(icUser NewUser)
{
try
{
if (LinkServer() == false)
{
SureMessage(global::JPMLab_LanTalker_Client.Properties.Resources.STR_MSG_FAILLINKSERVER, global::JPMLab_LanTalker_Client.Properties.Resources.STR_MSGT_FAILOPERATE);
return;
}
_bWriter.Write(MESSAGE_TYPE_REGISTER);
_bWriter.Write(NewUser._account);
_bWriter.Write(NewUser._password);
_bWriter.Write(NewUser._nickName);
_bWriter.Write(NewUser._headPic);
_bWriter.Write(NewUser._myShow);
_bWriter.Write(NewUser._sex);
_bWriter.Write(NewUser._birthDay);
_bWriter.Write(NewUser._bewrite);
_bWriter.Write(_my_Address);
_bWriter.Write(_my_Port);
_bWriter.Flush();
if (_bReader.ReadChar() == 't')
{
SureMessage(global::JPMLab_LanTalker_Client.Properties.Resources.STR_MSG_COMREGISTER, global::JPMLab_LanTalker_Client.Properties.Resources.STR_MSGT_COMOPERATE);
}
else
{
SureMessage(global::JPMLab_LanTalker_Client.Properties.Resources.STR_MSG_FAILREGISTER, global::JPMLab_LanTalker_Client.Properties.Resources.STR_MSGT_FAILOPERATE);
}
}
catch (Exception e)
{
SureMessage(e.Message, global::JPMLab_LanTalker_Client.Properties.Resources.STR_MSGT_FAILOPERATE);//global::JPMLab_LanTalker_Client.Properties.Resources.STR_MSG_SESSIONEXCEPTION, global::JPMLab_LanTalker_Client.Properties.Resources.STR_MSGT_FAILOPERATE);
}
}
public delegate void funMainDrawNowProgress(int NPro);
public static bool UserLogin(string UAcc, string UPwd, funMainDrawNowProgress funDrawNowPro)
{
try
{
char t_R;
if (LinkServer() == false)
{
SureMessage(global::JPMLab_LanTalker_Client.Properties.Resources.STR_MSG_FAILLINKSERVER, global::JPMLab_LanTalker_Client.Properties.Resources.STR_MSGT_FAILOPERATE);
return false;
}
funDrawNowPro(10);
StartListener();
funDrawNowPro(20);
_bWriter.Write(MESSAGE_TYPE_LOGIN);
_bWriter.Write(UAcc);
_bWriter.Write(UPwd);
_bWriter.Write(_my_Address);
_bWriter.Write(_my_Port);
_bWriter.Flush();
t_R = _bReader.ReadChar();
funDrawNowPro(30);
if (t_R == LOGIN_RESULT_COMLETE)
{
int t_c;
if (CurrentMe == null)
{
CurrentMe = new icUser();
}
//FLD_UID,FLD_ACCOUNT,FLD_PASSWORD
//FLD_NICKNAME,FLD_HEADPIC,FLD_MYSHOW
//FLD_SEX,FLD_BIRTHDAY,FLD_BEWRITE
//FLD_OPENTIME,FLD_LASTTIME,FLD_LASTIP
//FLD_LASTPORT
CurrentMe._uID = _bReader.ReadInt32();
CurrentMe._account = _bReader.ReadString();
CurrentMe._password = _bReader.ReadString();
CurrentMe._nickName = _bReader.ReadString();
CurrentMe._headPic = _bReader.ReadInt32();
CurrentMe._myShow = _bReader.ReadInt32();
CurrentMe._sex = _bReader.ReadInt32();
CurrentMe._birthDay = _bReader.ReadString();
CurrentMe._bewrite = _bReader.ReadString();
CurrentMe._openTime = _bReader.ReadString();
CurrentMe._lastTime = _bReader.ReadString();
CurrentMe._lastIP = _bReader.ReadString();
CurrentMe._lastPort = _bReader.ReadInt32();
_FriendList.Clear();
t_c = _bReader.ReadInt32();
if (t_c > 0)
{
int t_n;
icUser t_User;
for (t_n = 0; t_n < t_c; t_n++)
{
t_User = new icUser();
///FLD_UID,FLD_NICKNAME
///FLD_HEADPIC,FLD_MYSHOW,FLD_SEX,FLD_BIRTHDAY
///FLD_BEWRITE,FLD_OPENTIME,FLD_LASTTIME,FLD_LASTIP
t_User._uID = _bReader.ReadInt32();
t_User._nickName = _bReader.ReadString();
t_User._headPic = _bReader.ReadInt32();
t_User._myShow = _bReader.ReadInt32();
t_User._sex = _bReader.ReadInt32();
t_User._birthDay = _bReader.ReadString();
t_User._bewrite = _bReader.ReadString();
t_User._openTime = _bReader.ReadString();
t_User._lastTime = _bReader.ReadString();
t_User._lastIP = _bReader.ReadString();
_FriendList.Add(t_User);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -