init lserp cs 5.0
This commit is contained in:
@@ -0,0 +1,131 @@
|
||||
namespace LSFileClient
|
||||
{
|
||||
using LSServerService;
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.Drawing;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
using System.Windows.Forms;
|
||||
|
||||
public partial class frmSmartClient : FrmBase
|
||||
{
|
||||
|
||||
public frmSmartClient() : this(null, "", "", "1")
|
||||
{
|
||||
}
|
||||
|
||||
public frmSmartClient(LSClientMain _clientMain, string _serverIP, string _databaseName, string _isConsumer) : base(_clientMain, _serverIP, _databaseName, _isConsumer)
|
||||
{
|
||||
//MessageBox.Show("OK");
|
||||
this.components = null;
|
||||
this.isConsumer = _isConsumer;
|
||||
this.InitializeComponent();
|
||||
}
|
||||
|
||||
|
||||
private void frmSmartClient_FormClosed(object sender, FormClosedEventArgs e)
|
||||
{
|
||||
base.clientMain.clientSocket.CloseSocket();
|
||||
base.clientMain.FreeAllResouce();
|
||||
}
|
||||
|
||||
private void frmSmartClient_Load(object sender, EventArgs e)
|
||||
{
|
||||
base.Width = base.Height = 0;
|
||||
LSGlobleVariable.masterForm = this;
|
||||
LSGlobleVariable.hWndMain = base.Handle;
|
||||
FrmBase.SendMessage(LSParamsFormatter.mainHandle, 1298, base.Handle, IntPtr.Zero);
|
||||
base.clientMain.clientSocket.SocketCloseEvent += new LSASyncSocket.SocketCloseEventHandle(this.onClientSocketClose);
|
||||
C2S_SmartClientLogin structObj = new C2S_SmartClientLogin(true);
|
||||
structObj.header.dwUserId = (uint) LSParamsFormatter.userId;
|
||||
try
|
||||
{
|
||||
base.clientMain.Send(structObj);
|
||||
}
|
||||
catch (Exception exception)
|
||||
{
|
||||
PubUtils.WriteLog("LSClientMain.frmSmartClient_Load error: {0}", new object[] { exception });
|
||||
FrmBase.SendMessage(LSParamsFormatter.mainHandle, 1305, base.Handle, IntPtr.Zero);
|
||||
}
|
||||
}
|
||||
|
||||
protected override bool hasParsedMsg(byte[] byteData, LSSocket client, MsgHeader header)
|
||||
{
|
||||
if (header.dwType == 69634)
|
||||
{
|
||||
try
|
||||
{
|
||||
C2S2C_SmartResponse structure = (C2S2C_SmartResponse) PubUtils.BytesToStruct(byteData, typeof(C2S2C_SmartResponse));
|
||||
FrmBase.COPYDATASTRUCT lParam = new FrmBase.COPYDATASTRUCT {
|
||||
dwData = (IntPtr) structure.dwFieldCount,
|
||||
cbData = ((int) structure.dwDataLen) + 1
|
||||
};
|
||||
int index = Marshal.SizeOf(structure);
|
||||
lParam.lpData = Encoding.Default.GetString(byteData, index, (int) structure.dwDataLen);
|
||||
FrmBase.SendCopyData(LSParamsFormatter.mainHandle, 74, IntPtr.Zero, ref lParam);
|
||||
}
|
||||
catch (Exception exception)
|
||||
{
|
||||
PubUtils.WriteLog("LSClientMain.hasParsedMsg error: {0}", new object[] { exception });
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private void onClientSocketClose(LSASyncSocket AsyncSocket)
|
||||
{
|
||||
try
|
||||
{
|
||||
FrmBase.SendMessage(LSParamsFormatter.mainHandle, LSCustomWinMsg.READYTOCLOSE, IntPtr.Zero, IntPtr.Zero);
|
||||
base.Close();
|
||||
}
|
||||
catch (Exception exception)
|
||||
{
|
||||
PubUtils.WriteLog("LSClientMain.onClientSocketClose error: {0},", new object[] { exception });
|
||||
}
|
||||
}
|
||||
|
||||
private void reConnect()
|
||||
{
|
||||
PubUtils.WriteLog("LSClientMain.reConnect error: 链接被关闭,即将重链", new object[0]);
|
||||
for (int i = 0; i < 1000000; i++)
|
||||
{
|
||||
base.clientMain.clientSocket.reConnect();
|
||||
int num2 = 0;
|
||||
while (num2 < 20)
|
||||
{
|
||||
if (base.clientMain.checkSocketState())
|
||||
{
|
||||
break;
|
||||
}
|
||||
num2++;
|
||||
Thread.Sleep(1000);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void timer1_Tick(object sender, EventArgs e)
|
||||
{
|
||||
this.timer1.Enabled = false;
|
||||
base.Visible = false;
|
||||
}
|
||||
|
||||
protected override void WndProc(ref Message msg)
|
||||
{
|
||||
if (msg.Msg == LSCustomWinMsg.CONNECT_ERROR)
|
||||
{
|
||||
MessageBox.Show("连接服务器失败,请联系管理员!");
|
||||
FrmBase.SendMessage(LSParamsFormatter.mainHandle, 1305, base.Handle, IntPtr.Zero);
|
||||
base.Close();
|
||||
}
|
||||
else
|
||||
{
|
||||
base.WndProc(ref msg);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user