public bool SendString(String str) { bool result = false; try { if (client != null && client.Connected) { // 메시지 보내기 byte[] msg = System.Text.Encoding.UTF8.GetBytes(str); nStream.Write(msg, 0, msg.Length); nStream.Flush(); SocketSendEventArgs sev = new SocketSendEventArgs(this.id, msg.Length); Sent(sev); result = true; } } catch (Exception err) { SocketErrorEventArgs eev = new SocketErrorEventArgs(this.id, err); ErrorOccured(eev); } return(result); }
/// <summary> /// 서버에 연결된 모든 Client에게 데이터를 송신 한다. /// </summary> /// <param name="data"></param> /// <param name="data_length"></param> /// <returns></returns> public bool BroadCast(byte[] data, int data_length) { bool result = false; try { foreach (var client in RemoteClients.ToList()) { if (client.Value != null) { NetworkStream stream = client.Value.GetStream(); if (stream != null) { stream.Write(data, 0, data_length); stream.Flush(); result = true; } } SocketSendEventArgs sev = new SocketSendEventArgs(this.id, data_length); Sent(sev); } } catch (Exception err) { SocketErrorEventArgs eev = new SocketErrorEventArgs(this.id, err); ErrorOccured(eev); //Debug.WriteLine("ServerSocket->BroadCast Error:"+err.Message); } return(result); }
protected virtual void Sent(SocketSendEventArgs e) { SocketSendEventHandler handler = OnSend; if (handler != null) { handler(this, e); } }
public bool Send(byte[] data, int data_size) { bool result = false; try { if (nStream != null && client.Connected) { nStream.Write(data, 0, data_size); nStream.Flush(); SocketSendEventArgs sev = new SocketSendEventArgs(this.id, data_size); Sent(sev); result = true; } } catch (Exception err) { SocketErrorEventArgs eev = new SocketErrorEventArgs(this.id, err); ErrorOccured(eev); } return(result); }
private void OnClientSend(object sender, SocketSendEventArgs e) { //AddLog(Log.Type.LOG_INFO, "PC -> HOST: Send ID: " + e.ID.ToString() + " Bytes sent: " + e.SendBytes.ToString()); }