diff --git a/StartServerWPF.Modules.Main/StartServerWPF.Modules.Main.csproj b/StartServerWPF.Modules.Main/StartServerWPF.Modules.Main.csproj
index db00ac0..7f89eba 100644
--- a/StartServerWPF.Modules.Main/StartServerWPF.Modules.Main.csproj
+++ b/StartServerWPF.Modules.Main/StartServerWPF.Modules.Main.csproj
@@ -13,6 +13,7 @@
+
diff --git a/StartServerWPF.Modules.Main/ViewModels/MainViewModel.cs b/StartServerWPF.Modules.Main/ViewModels/MainViewModel.cs
index 9d0dc14..eec9351 100644
--- a/StartServerWPF.Modules.Main/ViewModels/MainViewModel.cs
+++ b/StartServerWPF.Modules.Main/ViewModels/MainViewModel.cs
@@ -23,7 +23,7 @@ namespace StartServerWPF.Modules.Main.ViewModels
{
public class MainViewModel : BindableBase
{
- public MainViewModel(IDialogService dialogService)
+ public MainViewModel(IDialogService dialogService, WebsocketClient websocket)
{
Message = "View A from your Prism Module";
Console.WriteLine(System.Environment.CurrentDirectory + "\\" + JsonParser.systemConfigPath);
@@ -45,6 +45,8 @@ namespace StartServerWPF.Modules.Main.ViewModels
Console.WriteLine(sc.remoteDb.ServerAddress + "\t" + sc.remoteDb.ServerPort
+ "\t" + sc.remoteDb.UserName + "\t" + sc.remoteDb.Password);
this._dialogService = dialogService;
+ this._websocket = websocket;
+ _websocket.WebSocketInit();
}
@@ -452,6 +454,7 @@ namespace StartServerWPF.Modules.Main.ViewModels
private DispatcherTimer timer1= new DispatcherTimer();
private readonly IDialogService _dialogService;
+ private readonly WebsocketClient _websocket;
public void InitializeParams()
{
@@ -477,6 +480,16 @@ namespace StartServerWPF.Modules.Main.ViewModels
/// 进程启动返回值
private int StartProcess(ProcessInfo proInfo)
{
+ //using (Process compiler = new Process())
+ //{
+ // compiler.StartInfo.FileName = proInfo.ProName;
+ // compiler.StartInfo.Arguments = proInfo.ProPath + " -o " + proInfo.ProParams;
+ // compiler.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
+ // compiler.Start();
+ // compiler.WaitForExit();
+ //}
+
+
int seInd = ShellExecute(IntPtr.Zero, new StringBuilder("open"), new StringBuilder(proInfo.ProName + ".exe")
, new StringBuilder(proInfo.ProParams), new StringBuilder(proInfo.ProPath), proInfo.ShowState);
return seInd;
diff --git a/StartServerWPF.Modules.Main/WebsocketClient.cs b/StartServerWPF.Modules.Main/WebsocketClient.cs
new file mode 100644
index 0000000..455b538
--- /dev/null
+++ b/StartServerWPF.Modules.Main/WebsocketClient.cs
@@ -0,0 +1,64 @@
+using SuperSocket.ClientEngine;
+using System;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.Linq;
+using System.Text;
+using System.Threading;
+using System.Threading.Tasks;
+using WebSocket4Net;
+
+namespace StartServerWPF.Modules.Main
+{
+ public class WebsocketClient
+ {
+ public WebSocket webSocket4Net = null;
+ public void WebSocketInit()
+ {
+ Console.WriteLine("客户端");
+ webSocket4Net = new WebSocket("ws://localhost:5000/ws");
+ webSocket4Net.Opened += WebSocket4Net_Opened;
+ webSocket4Net.Error += new EventHandler(WebSocket_Error);
+ webSocket4Net.MessageReceived += WebSocket4Net_MessageReceived;
+ webSocket4Net.Open();
+ Console.WriteLine("客户端连接成功!");
+ Thread thread = new Thread(ClientSendMsgToServer);
+ thread.IsBackground = true;
+ thread.Start();
+ // webSocket4Net.Dispose();
+ }
+
+ public void ClientSendMsgToServer()
+ {
+ int i = 88;
+ while (true)
+ {
+ //Console.WriteLine($"客户端发送数据{i++}");
+ Thread.Sleep(TimeSpan.FromSeconds(2));
+ if (webSocket4Net.State == WebSocketState.Open)
+ {
+ webSocket4Net.Send("{\"type\":\"heartbeat\",\"utype\":\"device\",\"uid\":123}");
+ }
+ else if (webSocket4Net.State == WebSocketState.Closed)
+ {
+ Thread.Sleep(TimeSpan.FromSeconds(5));
+ webSocket4Net.Open();
+ }
+ }
+ }
+
+ private void WebSocket4Net_MessageReceived(object sender, MessageReceivedEventArgs e)
+ {
+ Debug.WriteLine($"服务端回复数据:{e.Message}!");
+ }
+
+ private void WebSocket4Net_Opened(object sender, EventArgs e)
+ {
+ // webSocket4Net.Send($"客户端准备发送数据!");
+ }
+ void WebSocket_Error(object sender, ErrorEventArgs e)
+ {
+ Debug.WriteLine("websocket_Error:" + e.Exception.ToString());
+ }
+ }
+}
diff --git a/StartServerWPF/App.xaml.cs b/StartServerWPF/App.xaml.cs
index 179030a..e9b5678 100644
--- a/StartServerWPF/App.xaml.cs
+++ b/StartServerWPF/App.xaml.cs
@@ -18,7 +18,7 @@ namespace StartServerWPF
protected override void RegisterTypes(IContainerRegistry containerRegistry)
{
-
+ containerRegistry.RegisterSingleton();
}
protected override void ConfigureModuleCatalog(IModuleCatalog moduleCatalog)
diff --git a/StartServerWPF/Views/MainWindow.xaml b/StartServerWPF/Views/MainWindow.xaml
index 4d85008..0c2bb7b 100644
--- a/StartServerWPF/Views/MainWindow.xaml
+++ b/StartServerWPF/Views/MainWindow.xaml
@@ -1,7 +1,7 @@