public int LoginCo() { OnMessage(); OpenMessage(); Message.text = "로그인 중입니다"; Okay.SetActive(false); Cancel.SetActive(false); if (IDInputField.text == "" || PassInputField.text == "") { Message.text = "아이디와 비밀번호가 올바른지 확인해주십시오"; return -1; } try { SendMemberInfo smInfo = new SendMemberInfo(2, Convert.ToInt32(IDInputField.text), Convert.ToInt32(PassInputField.text)); byte[] sendBuf = Serializer.Serialize<SendMemberInfo>(smInfo); int sendLen = client.getSock().Send(sendBuf); } catch (FormatException e) { e.ToString(); Message.text = "ID 와 Password형식은 int 형식이어야 합니다."; return -1; } byte[] recvBuf = client.recMessage(4); int num = BitConverter.ToInt32(recvBuf, 0); if (num != 2) { print("요청에 대한 잘못된 리턴값 반환"); return -1; } RecvMemberInfo recvMem = new RecvMemberInfo(); byte[] recvbuf1 = client.recMessage(Marshal.SizeOf(typeof(RecvMemberInfo))); Serializer.Deserialize<RecvMemberInfo>(recvbuf1, ref recvMem); if(recvMem.id ==Int32.MaxValue || recvMem.password == Int32.MaxValue) { Message.text = "ID와 비밀번호가 일치하는지 확인해 주십시오."; return -1; } if (recvMem.id == Int32.MinValue || recvMem.password == Int32.MinValue) { Message.text = "누군가가 접속하고 있습니다 ."; return -1; } return 0; }
// Update is called once per frame void Update() { while (TaskQueue.Count > 0) { Task task; task = TaskQueue.Dequeue(); int num = task.type; switch (num) { case 0: int x = ((RecvPoint)(task.data)).getX(); int y = ((RecvPoint)(task.data)).getY(); int z = ((RecvPoint)(task.data)).getZ(); print("value" + x + y + z); print("0"); SendPoint sendPoint3 = new SendPoint(4, 3, 4, 5); byte[] sendBuf = Serializer.Serialize <SendPoint>(sendPoint3); int sendLen = client.getSock().Send(sendBuf); print(sendLen); break; } } }