private void ConnectDone() { PacketMaker maker = new PacketMaker(); maker.SetMsgLength(Encoding.UTF8.GetByteCount(textBox1.Text)); maker.SetCommand((int)COMMAND.SET_USER_ID); maker.SetStringData(textBox1.Text); userID = textBox1.Text; sender1.SendPacket(COMMAND.SET_USER_ID, maker); }
private void CreateRoom_Click(object sender, EventArgs e) { PacketMaker maker = new PacketMaker(); maker.SetMsgLength(Encoding.UTF8.GetByteCount(CreateRoomTextBox.Text)); maker.SetCommand((int)COMMAND.CREATE_ROOM); maker.SetStringData(CreateRoomTextBox.Text); sender1.SendPacket(COMMAND.CREATE_ROOM, maker); CreateRoomTextBox.Text = string.Empty; }
private void ExitRoomButton_Click(object sender, EventArgs e) { PacketMaker maker = new PacketMaker(); maker.SetMsgLength(BitConverter.GetBytes(1).Length); maker.SetCommand((int)COMMAND.EXIT_ROOM); maker.SetIntData(1); //maker.SetStringData(SendTextBox.Text); sender1.SendPacket(COMMAND.EXIT_ROOM, maker); SendTextBox.Text = string.Empty; }
private void JoinRoomButton_Click(object sender, EventArgs e) { PacketMaker maker = new PacketMaker(); maker.SetMsgLength(Encoding.UTF8.GetByteCount(JoinRoomTextBox.Text)); maker.SetCommand((int)COMMAND.JOIN_ROOM); maker.SetStringData(JoinRoomTextBox.Text); //maker.SetStringData(SendTextBox.Text); sender1.SendPacket(COMMAND.JOIN_ROOM, maker); JoinRoomTextBox.Text = string.Empty; }
private void SendButton_Click(object sender, EventArgs e) { StringBuilder builder = new StringBuilder(); builder.Append(ReceiveTextBox.Text); builder.Append(userID); builder.Append(" : "); builder.Append(SendTextBox.Text); builder.Append(Environment.NewLine); ReceiveTextBox.Text = builder.ToString(); PacketMaker maker = new PacketMaker(); maker.SetMsgLength(Encoding.UTF8.GetByteCount(SendTextBox.Text)); maker.SetCommand((int)COMMAND.SEND_CHAT_MSG); maker.SetStringData(SendTextBox.Text); sender1.SendPacket(COMMAND.SEND_CHAT_MSG, maker); SendTextBox.Text = string.Empty; }
// 패킷 수신 public void ReceivePacket(COMMAND command) { switch (command) { case COMMAND.SET_USER_ID_DONE: { int check = BitConverter.ToInt32(receiveBuffers, (Defines.HEADERSIZE + Defines.COMMAND)); string msg = Encoding.UTF8.GetString(receiveBuffers, (Defines.HEADERSIZE + Defines.COMMAND) + 4, totalByteLength); if (check == 1) { //MessageBox.Show(msg + " 아이디로 접속되었습니다."); userID = msg; settingIDCallback(); // 방 리스트를 가져오자 PacketMaker maker = new PacketMaker(); maker.SetMsgLength(BitConverter.GetBytes(1).Length); maker.SetCommand((int)COMMAND.GET_ROOM); maker.SetIntData(1); SendPacket(COMMAND.GET_ROOM, maker); } else { MessageBox.Show("동일한 아이디가 존재합니다"); // 디스커넥트를 서버에 보내자 // 나중에 패킷 메세지도 필요하면 그 때 보내보자 PacketMaker maker = new PacketMaker(); maker.SetMsgLength(BitConverter.GetBytes(1).Length); maker.SetCommand((int)COMMAND.SERVER_DISCONNECTED); maker.SetIntData(1); SendPacket(COMMAND.SERVER_DISCONNECTED, maker); //socket.Disconnect(false); //SocketAsyncEventArgs dis = new SocketAsyncEventArgs(); //dis.Completed += new EventHandler<SocketAsyncEventArgs>(Dis); //socket.DisconnectAsync(dis); } break; } case COMMAND.RECEIVE_CHAT_MSG: { string msg = Encoding.UTF8.GetString(receiveBuffers, (Defines.HEADERSIZE + Defines.COMMAND), totalByteLength); receiveMessageCallback(msg); break; } case COMMAND.GET_ROOM_DONE: { string msg = Encoding.UTF8.GetString(receiveBuffers, (Defines.HEADERSIZE + Defines.COMMAND), totalByteLength); settingRoomCallback(msg); break; } case COMMAND.CREATE_ROOM_DONE: { string msg = Encoding.UTF8.GetString(receiveBuffers, (Defines.HEADERSIZE + Defines.COMMAND), totalByteLength); createRoomCallback(msg); break; } case COMMAND.JOIN_ROOM_DONE: { string msg = Encoding.UTF8.GetString(receiveBuffers, (Defines.HEADERSIZE + Defines.COMMAND), totalByteLength); createRoomCallback(msg); break; } case COMMAND.EXIT_ROOM_DONE: { // 방 리스트를 가져오자 PacketMaker maker = new PacketMaker(); maker.SetMsgLength(BitConverter.GetBytes(1).Length); maker.SetCommand((int)COMMAND.GET_ROOM); maker.SetIntData(1); SendPacket(COMMAND.GET_ROOM, maker); // 방 로비 화면으로 넘겨주자 settingIDCallback(); break; } } }