자유의대가는뭐라고요
접속 : 3611   Lv. 69

Category

Profile

Counter

  • 오늘 : 211 명
  • 전체 : 1524893 명
  • Mypi Ver. 0.3.1 β
[잡담/일상] 포기햇습니다 (0) 2018/02/26 PM 12:20

(다른팀원이 만든)

만들어져잇는 서버와 연결하는거 포기하고

(배웟는데도 1도모르겟음 이해안됨 대가리 빠가임)

 

내장 기능이라도 구현할라햇는데 

 

서버랑 연결이 안되니까 확인할 방법도없고 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

 

아니 (고정 ID , PW 값이라 )

로그인 해서 들어오는게 되는데

 

로그인gui랑 

ClientHandler 2개로되어있는거같은데..

 

로그인하면 그 아이디값을 채팅으로 가저오고싶은데

일단 서버연동이 안되어잇으니 하나도 확인안됨

 

자체적으로 간단히라도 만들라고햇으나 지금잇는 대기실 gui 랑 안맞고요...

 

그냥 꼬이고꼬여서 손 놧습니다.

물어가봐면서 햇엇는데도 이해못해서 주말내내 끙끙거렷는데

 

그냥 여기에 소질이없는건지

미치겟어요

 


 

 

 

 

package main;


import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.util.Scanner;


import javax.swing.JFrame;


import dataSet.*;

import gui.*;

import network_Client.*;


public class ClientHandler extends JFrame implements ActionListener{

private MsgConnector msgClient;

private DataPacketManager packetMng;

private Drawboard drawBoard;

private LobbyGui lobby;  // 로비

private LoginPage loginPage;

public ClientHandler(){

packetMng = new DataPacketManager();

MsgReceiver msgReceiver = new MsgReceiver();

msgReceiver.start();

}

class MsgReceiver extends Thread {

public MsgReceiver() {

msgClient = new MsgConnector();

}


public void run() {

while (true) {

byte[] inPacket = msgClient.readMsg();

clarifyMsg(inPacket);

}

}


private void clarifyMsg(byte[] inPacket) {

int protocol = inPacket[0];

switch (protocol) {

case ProtocolSet.ID_REQ_LOGIN:

showLoginPage();

break;

case ProtocolSet.ID_RESULT_LOGIN:

if(inPacket[1] == ConstantSet.ID_LOGIN_SUCCESS){

disposeLoginPage();

showLobby();

packetMng.setPacketSize(ProtocolSet.GAME_REQ_CURRENT_TURN);

msgClient.sendMessage(packetMng.getPacket());

}

break;

case ProtocolSet.GAME_NOW_TURN:

if(inPacket[1] == ConstantSet.YOUR_TURN){

setDrawBtEnable();

}

break;

case ProtocolSet.GAME_REQ_PAINT_CLEAR:

clearCanvas();

break;

}

}

}

private void showLoginPage(){

loginPage = new LoginPage(this);

loginPage.setVisible(true);

}

private void disposeLoginPage(){

loginPage.dispose(); 

showLobby(); //여기에 로비호출 추가

}

private void showLobby(){

lobby = new LobbyGui(this);

lobby.setVisible(true); //-------

}

private void setDrawBtEnable(){

drawBoard.setBoardEnable();

}

private void clearCanvas(){

drawBoard.clearCanvas();

}

public void actionPerformed(ActionEvent e) {

String command = e.getActionCommand();

if(command.equals("전체 지우기")){

clearCanvas();

packetMng.setPacketSize(ProtocolSet.GAME_REQ_PAINT_CLEAR);

msgClient.sendMessage(packetMng.getPacket());

}

else if(command.equals("로그인")){

String ID = loginPage.getId();

String PW = loginPage.getPw();

packetMng.setPacketSize(ProtocolSet.ID_REQ_ACCEPT_LOGIN);

byte[] outPacket = packetMng.getPacket();

byte[] id = ID.trim().getBytes();

byte[] pw = PW.trim().getBytes();

System.arraycopy(id, 0, outPacket, ProtocolSet.LEN_PROTOCAL, id.length);

System.arraycopy(pw, 0, outPacket, ProtocolSet.LEN_PROTOCAL + ProtocolSet.LEN_LOGIN_ID, 

pw.length);

msgClient.sendMessage(outPacket);

}

}

}


 

 

 

 

 

신고

 
X