public void server1() { //dodaj figuru za menjanje ovde server.Delimiter = 0x13; server.DelimiterDataReceived += (sender, msg) => { // Console.WriteLine(msg.MessageString); string k = msg.MessageString; string[] niz = k.Split(','); primljeno1 = niz[5] + "," + niz[6] + "," + niz[1] + "," + niz[2]; Console.WriteLine(primljeno1); if (primljeno1 == "0,0,0,0") { server.Broadcast(partija); } Sah sahhhh = (Sah)Application.OpenForms["Sah"]; sahhhh.pasvaluec = 1; Figura.Instance().zameni(int.Parse(niz[5]), int.Parse(niz[6]), int.Parse(niz[1]), int.Parse(niz[2])); if (niz[7] == "sahmat") { sahmat = "sahmat"; // Kraj kr = new Kraj(); // kr.Show(); } }; clientsConnected = server.ConnectedClientsCount; //Console.WriteLine("number of connected clients is: " + clientsConnected); //var listeningIps = server.GetListeningIPs(); //Console.WriteLine("number of connected clients is: " + listeningIps); //var listeningV4Ips = server.GetListeningIPs().Where(ip => ip.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork); //Console.WriteLine("number of connected clients is: " + listeningV4Ips); }
private void ReadThread() { UserConfig.ReadAppSettings("Crane1Port", out string Port); server1 = new SimpleTcpServer().Start(int.Parse(Port)); server1.DataReceived += (sender, msg) => { // msg.Reply(msg.MessageString); server1RecData = msg.MessageString; recData.Data = msg.MessageString; this.BeginInvoke(new Action(() => { //如果起始和终止符不是<>,那么返回 if (msg.MessageString.Substring(0, 1) != "<") { return; } if (msg.MessageString.Substring(msg.MessageString.Length - 1, 1) != ">") { return; } IdleTimeout = 0; //如果第二个字符是1,那么要返回ACK,刚连上时,Cranebox会先发送CSR if (msg.MessageString.Substring(1, 1) == "1") { Telegram.ACK(server1RecData, out server1SendData); server1.Broadcast(server1SendData); Log.Information(server1SendData); listBox1.Text += server1SendData + "\r\n"; // sendData.Data = server1SendData;//触发委托监视事件,异步委托数据有可能会变化 } //如果是DUM,那么要返回DUA ,进行心跳 if (msg.MessageString.Substring(18, 3) == "DUM") { Telegram.DUA(server1RecData, out server1SendData); server1.Broadcast(server1SendData); // msg.Reply(server1SendData); Log.Information(server1SendData); listBox1.Text += server1SendData + "\r\n"; } //如果是NCK1 ,那么要发送SYN复位 //如果是NCK2,那么要等待Buffer timeout 时间重新发 })); }; server1.ClientConnected += (sender, msg) => { pictureBox1.Image = Image.FromFile(@"green.png"); }; server1.ClientDisconnected += (sender, msg) => { pictureBox1.Image = Image.FromFile(@"red.png"); }; }
private static void Main() { HttpClient httpClient = new HttpClient(); SimpleTcpServer tcpServer = new SimpleTcpServer().Start(Constants.TcpPort); tcpServer.DataReceived += async(sender, e) => { MessageTransmission messageTransmission = JsonConvert.DeserializeObject <MessageTransmission>(e.MessageString); string messageString = JsonConvert.SerializeObject(messageTransmission.Message); tcpServer.Broadcast(messageString); ByteArrayContent byteArrayContent = new ByteArrayContent(Encoding.UTF8.GetBytes(messageString)); byteArrayContent.Headers.ContentType = new MediaTypeHeaderValue("application/json"); HttpRequestMessage message = new HttpRequestMessage(HttpMethod.Post, $"{Constants.HttpServerAddress}/messages/post") { Content = byteArrayContent, Headers = { { "Authorization", messageTransmission.Authorization } } }; await httpClient.SendAsync(message); WriteLine("Message: {0}", messageTransmission.Message.Content); }; ReadKey(); }
private void baslat_durdur_button_Click(object sender, EventArgs e) { if (server.IsStarted) { ciktilar.Text = "Server durduruluyor."; //bagliclientsayisi.Enabled = false; server.StringEncoder = Encoding.UTF8; server.Broadcast("Sunucu kapatıldığı için bütün maçlar iptal edilmiştir."); server.Stop(); baslat_durdur_button.Text = "Başlat"; ciktilar.Text = "Server durduruldu."; } else { ciktilar.Text = "www.urhoba.net \n" + "Server başlatılıyor.. \n"; try { // bagliclientsayisi.Enabled = true; System.Net.IPAddress ip = System.Net.IPAddress.Parse(hostIP.Text); server.Start(ip, Convert.ToInt32(hostPort.Text)); baslat_durdur_button.Text = "Durdur"; ciktilar.Text += "Server başlatıldı."; } catch (Exception) { ciktilar.Text += "Server başlatılırken bir hata ile karşılaştık."; } } }
private void Server_DataReceived(object sender, SimpleTCP.Message e) { server1.Broadcast(e.MessageString); txtstatus.Dispatcher.Invoke((Action) delegate() { txtstatus.Text += e.MessageString; }); }
public void DataRecieved(object sender, SimpleTCP.Message m) { if (!CheckAccess()) { Dispatcher.Invoke(new Action <Object, Message>(DataRecieved), new object[] { sender, m }); return; } OutputBox.Text += "[Client] " + m.MessageString + "\n"; server.Broadcast("[Client] " + m.MessageString); }
public void Emit(string type, string data = "{}") { data = data.Replace("'", "\""); string json = "{ \"type\": \"" + type + "\", \"data\": " + data + " }\f"; //Console.WriteLine(json); if (server != null && server.IsStarted) { server.Broadcast(json); } }
public void buildChannelMessageInfo() { StringBuilder sb = new StringBuilder(); sb.Append("CHI"); sb.Append(";"); sb.Append(whichChannel); sb.Append(";"); sb.Append(channelList[whichChannel].name); sb.Append(";"); sb.Append(channelList[whichChannel].userList.Count); sb.Append(";"); sb.Append(channelList[whichChannel].description); foreach (User u in channelList[whichChannel].userList) { sb.Append(";"); sb.Append(u.name); } server.Broadcast(sb.ToString()); }
private void button1_Click(object sender, EventArgs e) { Control_Timer_Tick(sender, e); Control_Timer.Enabled = true; button1.Text = "Started"; System.Net.IPAddress ip = System.Net.IPAddress.Parse("192.168.43.239"); server.Start(ip, Convert.ToInt32("7070")); label_tcp.Text = "server started"; server.Broadcast("1"); //send[0] = 12; //serialPort1.Write(send, 0, 1); }
private void timer1_Tick_1(object sender, EventArgs e) { timer_clk++; if (ERROR == false) { int tmp; Int32.TryParse(Interval_txt.Text, out tmp); timer1.Interval = tmp; switch (clock) { case 1: server.Broadcast("ok1"); break; case 2: server.Broadcast("ok2"); break; case 3: server.Broadcast("ok3"); break; } clock++; if (clock == 4) { clock = 1; } ERROR = true; timer_clk = 0; if (Anchor_measurement.Checked == true) { clock = 0; } } if (timer_clk * timer1.Interval >= Convert.ToInt32(Error_Period.Text)) { ERROR = false; Reset_DWM(sender); // timer1.Interval = 500; timer_clk = 0; } }
public static void Start() { try { server.StringEncoder = Encoding.UTF8; server.Start(23333); Common.CqApi.AddLoger(Sdk.Cqp.Enum.LogerLevel.Info, "tcp server", "tcp server started!"); server.DataReceived += (sender, msg) => { LuaEnv.RunLua( $"message=[[{msg.MessageString.Replace("]", "] ")}]] ", "envent/ReceiveTcp.lua"); }; } catch (Exception e) { Common.CqApi.AddLoger(Sdk.Cqp.Enum.LogerLevel.Error, "tcp server", "tcp server start failed!\r\n" + e.ToString()); } //消息发送队列 Task.Run(() => { try { while (true) { while (toSend.Count > 0) { string temp; toSend.TryTake(out temp); server.Broadcast(temp); Task.Delay(packTime).Wait(); } Task.Delay(200).Wait();//等等,防止卡死 } } catch (Exception e) { Common.CqApi.AddLoger(Sdk.Cqp.Enum.LogerLevel.Fatal, "tcp server", "tcp server loop failed!\r\n" + e.Message); } }); }
public static void SendList() { System.Timers.Timer timer = new System.Timers.Timer(); timer.Enabled = true; timer.Interval = 1000;//1s timer.Elapsed += new System.Timers.ElapsedEventHandler((s, e) => { try { if (toSend.Count > 0) { string temp; toSend.TryTake(out temp); server.Broadcast(temp); } } catch (Exception ee) { Common.AppData.CQLog.Error("lua插件", $"tcp队列报错:{ee.Message}"); } }); timer.Start(); }
private void TaskThread() { int step = 1;//arq server1.DataReceived += (sender, msg) => { // msg.Reply(msg.MessageString); this.BeginInvoke(new Action(() => { //如果起始和终止符不是<>,那么返回 if (msg.MessageString.Substring(18, 3) == "CSR") { if (msg.MessageString.Substring(48, 3) != "000")//如果返回错误 { string[] craneData = new string[17]; craneData[0] = "Crane1"; craneData[1] = SequenceNumber; craneData[2] = (int.Parse(AssignmentID) - 1).ToString("00000000"); Telegram.DER1(craneData, out server1SendData); server1.Broadcast(server1SendData); Log.Information(server1SendData); listBox1.Text += server1SendData + "\r\n"; // sendData.Data = server1SendData;//触发委托监视事件 changeNumber(ref SequenceNumber, ref AssignmentID); } // if (!Server1SendData.Contains("ARQ")) return; else { step += 1; } } if (msg.MessageString.Substring(18, 3) == "NCK") { if (msg.MessageString.Substring(21, 1) == "1") { SequenceNumber = "0001"; Telegram.SYN(server1RecData, out server1SendData); server1.Broadcast(server1SendData); Log.Information(server1SendData); listBox1.Text += server1SendData + "\r\n"; } if (msg.MessageString.Substring(21, 1) == "2") { BufferFullTime.Start(); } } if (msg.MessageString.Substring(18, 3) == "ACP") { if (msg.MessageString.Substring(51, 3) != "000") { string[] craneData = new string[17]; craneData[0] = "Crane1"; craneData[1] = SequenceNumber; Telegram.STA1(craneData, out server1SendData); server1.Broadcast(server1SendData); Log.Information(server1SendData); listBox1.Text += server1SendData + "\r\n"; changeNumber(ref SequenceNumber, ref AssignmentID); } else { listBox1.Text += "任务已完成!" + "\r\n"; } } })); }; }
private void Server_DataReceived(object sender, SimpleTCP.Message e) { string listToBeSent = "list:All:"; if (e.MessageString.Contains("just joined")) { String user = e.MessageString.Substring(25, e.MessageString.Length - 25 - 14); Socket socket = e.TcpClient.Client; listOfClients.Add(new ClientDetails(user, socket)); server.Broadcast(e.MessageString); txtStatus.Dispatcher.Invoke((Action) delegate() { txtStatus.Text += e.MessageString; }); } if (e.MessageString.Contains("list")) { foreach (ClientDetails username in listOfClients) { listToBeSent += username.getUsername() + ":"; } List <byte> vs = new List <byte>(); vs.AddRange(Encoding.UTF8.GetBytes(listToBeSent)); e.TcpClient.Client.Send(vs.ToArray()); } if (e.MessageString.Contains("#")) { if (e.MessageString.Substring(0, 3).Equals("All")) { if (!e.MessageString.Substring(4, 4).Equals("File")) { string toAll = "[All] " + e.MessageString.Substring(4, e.MessageString.Length - 4) + "\n"; server.Broadcast(toAll); txtStatus.Dispatcher.Invoke((Action) delegate() { txtStatus.Text += toAll; }); } else { System.Windows.MessageBox.Show("Cannot send a file to everyone!"); } } else { int posOfDel = e.MessageString.IndexOf('#'); string user = e.MessageString.Substring(0, posOfDel); if (!e.MessageString.Substring(user.Length + 1, 4).Equals("File")) { string msg = "[Private] " + e.MessageString.Substring(posOfDel + 1, e.MessageString.Length - posOfDel - 1) + "\n"; Socket replySock = findSocket(user, listOfClients); if (replySock != null) { List <byte> vs = new List <byte>(); vs.AddRange(Encoding.UTF8.GetBytes(msg)); replySock.Send(vs.ToArray()); e.TcpClient.Client.Send(vs.ToArray()); } else { System.Windows.MessageBox.Show(user + " has logged out!"); } } else { string bigName = e.MessageString.Substring(user.Length + 6, e.MessageString.Length - user.Length - 6); int posOfStar = bigName.IndexOf('#'); string fileName = bigName.Substring(0, posOfStar); byte[] array = new byte[(e.MessageString.Length - user.Length - fileName.Length - 7)]; Buffer.BlockCopy(e.Data, user.Length + fileName.Length + 7, array, 0, array.Length); File.WriteAllBytes(currentPath + "\\" + user + "\\" + fileName, array); String srcUsername = findUsername(e.TcpClient.Client, listOfClients); Socket fromSock = findSocket(user, listOfClients); if (fromSock != null) { List <byte> vs = new List <byte>(); vs.AddRange(Encoding.UTF8.GetBytes("[Private] " + srcUsername + ": Sent file " + fileName + "\n")); List <byte> vs2 = new List <byte>(); vs2.AddRange(Encoding.UTF8.GetBytes("[Private] " + srcUsername + ": Sent file " + fileName + " | Location: " + currentPath + "\\" + user + "\\" + fileName + "\n")); fromSock.Send(vs2.ToArray()); e.TcpClient.Client.Send(vs.ToArray()); } } } } if (e.MessageString.Contains("closed")) { string username = e.MessageString.ToString().Split(':')[0]; for (int i = 0; i < listOfClients.Count(); i++) { if (listOfClients[i].getUsername() == username) { listOfClients.RemoveAt(i); } } server.Broadcast(" " + username + " just left!\n"); txtStatus.Dispatcher.Invoke((Action) delegate() { txtStatus.Text += " " + username + " just left!\n"; }); } }
static void SendDummyData(SimpleTcpServer server) { var data = System.IO.File.ReadAllBytes("clima_sensor_d.txt"); server.Broadcast(data); }
public void sendToClient(string msg) { System.Threading.Thread.Sleep(500); byte[] bytesToSend = ASCIIEncoding.ASCII.GetBytes(msg); server.Broadcast(bytesToSend); }
private void SendToClient(CommandAndData commandAndData) { _server.Broadcast(commandAndData.ToBytes()); }