void Awake() { Debug.Log("[checknetworkstatus]"); GameObject USER_INFO = GameObject.Find("USER_INFO"); //Socket Create client = new TcpClient(); string ipAddress = "34.84.9.236"; //Socket connect try{ // string ipAddress = USER_INFO.GetComponent<StaticVariableHolder>().ipAddress; var task = client.ConnectAsync(ipAddress, 7000); task.Wait(); if (client.Connected) { Debug.Log("it works!"); ns = client.GetStream(); StartCoroutine("Send_heartbeat", ns); } }catch (SocketException SCE) { Debug.Log("Socket connection error: " + SCE.ToString()); }finally { //에러 패널 띄우라는 신호 GameObject ButtonControl = GameObject.Find("ButtonControl"); ButtonControl.GetComponent <ButtonControl>().Set_errorPanel_active("[hb]Server Connection Failed"); } }
public bool ConnectToServer(CMessagePool msgPool) { this.msgPool = msgPool; this.recvHandler = new AsyncCallback(this.handlerOfRecv); this.sendHandler = new AsyncCallback(this.handlerOfSend); try { IPAddress ipAddr = System.Net.IPAddress.Parse(this.address); IPEndPoint ipEndPoint = new System.Net.IPEndPoint(ipAddr, this.port); this.socket.Connect(ipEndPoint); } catch (SocketException SCE) { this.ErrorHandler(ERROR_CODE.SOCKET_CONNECT, SCE.ToString()); return(false); } CAsyncTask at = new CAsyncTask(4096); at.workingSocket = this.socket; this.socket.BeginReceive(at.buf, 0, at.buf.Length, SocketFlags.None, recvHandler, at); return(true); }
public Network() { Debug.Log("NETWORK CREATED"); //======================================================= // Socket create. m_Socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); m_Socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.SendTimeout, 10000); m_Socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReceiveTimeout, 10000); //======================================================= // Socket connect. try { IPAddress ipAddr = System.Net.IPAddress.Parse(iPAdress); IPEndPoint ipEndPoint = new System.Net.IPEndPoint(ipAddr, kPort); m_Socket.Connect(ipEndPoint); } catch (SocketException SCE) { Debug.Log("Socket connect error! : " + SCE.ToString()); return; } ThreadStart readThreadStart = new ThreadStart(receive); readThread = new Thread(readThreadStart); readThread.IsBackground = true; readThread.Start(); }
void Start() { recvPacket.message = new char[512]; recvPacket.message_length = 0; try { IPAddress serverIP = IPAddress.Parse(strIP); int serverPort = 7890; socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); IPEndPoint ipep = new IPEndPoint(serverIP, serverPort); socket.Connect(ipep); Thread newCounter = new Thread(new ThreadStart(ReadThread)); newCounter.Start(); } catch (SocketException SCE) { Debug.Log("Socket connect error!:" + SCE.ToString()); return; } try { } catch (SocketException err) { Debug.Log("Socket send or receive error!:" + err.ToString()); } }
// Use this for initialization public void StartNetworkFunction() { isOnNetwork = true; // Socket Create socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.SendTimeout, 10000); socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReceiveTimeout, 10000); // Socket connect. try { IPAddress ipAddr = System.Net.IPAddress.Parse(iP_ADDRESS); IPEndPoint ipEndPoint = new System.Net.IPEndPoint(ipAddr, SERVER_PORT); socket.Connect(ipEndPoint); // 아니 솔직히 커넥트는 비동기로 안한다. 이거는 c++서버도 안했다 오바지 } catch (SocketException SCE) { Debug.Log("Socket connect error! : " + SCE.ToString()); return; } Debug.Log("Connect가 정상적으로 완료됐습니다!"); //SendData(100); //m_scenenManager = GameObject.Find("SceneManager"); }
private string ReceiveString; // Receive bytes to Change string. void Awake() { //======================================================= // Socket create. m_Socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); m_Socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.SendTimeout, 10000); m_Socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReceiveTimeout, 10000); //======================================================= // Socket connect. try { IPAddress ipAddr = System.Net.IPAddress.Parse(iPAdress); IPEndPoint ipEndPoint = new System.Net.IPEndPoint(ipAddr, kPort); m_Socket.Connect(ipEndPoint); } catch (SocketException SCE) { Debug.Log("Socket connect error! : " + SCE.ToString()); return; } //======================================================= // Send data write. StringBuilder sb = new StringBuilder(); // String Builder Create sb.Append("Test 1 - By Mac!!"); sb.Append("Test 2 - By Mac!!"); try { //======================================================= // Send. SenddataLength = Encoding.Default.GetByteCount(sb.ToString()); Sendbyte = Encoding.Default.GetBytes(sb.ToString()); m_Socket.Send(Sendbyte, Sendbyte.Length, 0); //======================================================= // Receive. m_Socket.Receive(Receivebyte); ReceiveString = Encoding.Default.GetString(Receivebyte); ReceivedataLength = Encoding.Default.GetByteCount(ReceiveString.ToString()); Debug.Log("Receive Data : " + ReceiveString + "(" + ReceivedataLength + ")"); } catch (SocketException err) { Debug.Log("Socket send or receive error! : " + err.ToString()); } }
void Awake() { //Socket Create socket = new TcpClient(); //Socket connect try{ // string ipAddress = USER_INFO.GetComponent<StaticVariableHolder>().ipAddress; socket.Connect(ipAddress, portNum); ns = socket.GetStream(); }catch (SocketException SCE) { Debug.Log("Socket connection error: " + SCE.ToString()); //에러 패널 띄우라는 신호 return; } }
public override bool CreateSocket(string address, int port) { this.address = address; this.port = port; try { this.socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); } catch (SocketException SCE) { this.ErrorHandler(ERROR_CODE.SOCKET_CREATE, SCE.ToString()); return(false); } this.socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.SendTimeout, 10000); this.socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReceiveTimeout, 10000); return(true); }
public void StartNetwork(int serverType) { loginImage.SetActive(false); Debug.Log("네트워크 시작! " + serverType); System.Net.IPAddress ipAddr; if (serverType == 0) { ipAddr = System.Net.IPAddress.Parse(LOCAL_HOST_IP); } else { ipAddr = System.Net.IPAddress.Parse(PUBLIC_SERVER_IP); } Lock(); try { IPEndPoint ipEndPoint = new System.Net.IPEndPoint(ipAddr, SERVER_LISTEN_PORT); socket.Connect(ipEndPoint); } catch (SocketException SCE) { Debug.Log("Socket connect error! : " + SCE.ToString()); Quit(); return; } // Buffer.BlockCopy(BitConverter.GetBytes(CLIENT_TYPE.Manager), 0, dataSendBuffer, 0, 1); dataSendBuffer[0] = (byte)(CLIENT_TYPE.Manager); Buffer.BlockCopy(BitConverter.GetBytes(COMMON_PASSWORD), 0, dataSendBuffer, 1, 4); socket.Send(dataSendBuffer, 29, SocketFlags.None); UnLock(); isOnNetwork = true; }
void ProcessCameraData() { Lock(); //Buffer.BlockCopy(BitConverter.GetBytes(PROTOCOL_TYPE.NeedCameraData), 0, dataSendBuffer, 0, 1); dataSendBuffer[0] = (byte)(PROTOCOL_TYPE.NeedCameraData); socket.Send(dataSendBuffer, 1, SocketFlags.None); try { socket.Receive(cameraDataRecvBuffer); } catch (SocketException SCE) { Debug.Log("Socket connect error! : " + SCE.ToString()); Quit(); return; } UnLock(); for (int i = 0; i < 64 * 64; ++i) { if (i % 64 == 0) { Debug.Log("X : " + (i / 64) + ", Y : " + (i % 64) + ", R : " + cameraDataRecvBuffer[3 * i + 0] + ", G : " + cameraDataRecvBuffer[3 * i + 1] + ", B : " + cameraDataRecvBuffer[3 * i + 2]); } cameraDataBuffer[i] = new Color(cameraDataRecvBuffer[3 * i + 0] / 255.0f , (cameraDataRecvBuffer[3 * i + 1]) / 255.0f , (cameraDataRecvBuffer[3 * i + 2]) / 255.0f , 1); } tex = new Texture2D(64, 64, TextureFormat.RGB24, false); tex.SetPixels(0, 0, 64, 64, cameraDataBuffer); cameraImage.GetComponent <Renderer>().material.mainTexture = tex; tex.Apply(); }
void Start() { try{ client.Connect(ipAddress, 9000); // task.Wait(); if (client.Connected) { Debug.Log("9000포트 연결 성공"); ns = client.GetStream(); USER_INFO = GameObject.Find("USER_INFO"); /// <summary> /// 데이터를 받아서 분석하는 Task /// </summary> //유저리스트와 방 리스트를 받아온다. var task1 = new Task <string>(() => this.ReadFunction()); task1.Start(); //연결 성공 후 사용자 정보를 서버로 보냄 string userId = USER_INFO.GetComponent <StaticVariableHolder>().USER_ID; string nickname = USER_INFO.GetComponent <StaticVariableHolder>().USER_NICKNAME; int score = USER_INFO.GetComponent <StaticVariableHolder>().USER_SCORE; UserInfo ui = new UserInfo("report_user_info", userId, nickname, score); SendObject(ui); task1.Wait(); string result = task1.Result; Debug.Log(result); ButtonControl.GetComponent <ButtonControl>().btn_getRoomList(task1.Result); } }catch (SocketException SCE) { Debug.Log("Socket connection error: " + SCE.ToString()); //에러 패널 띄우라는 신호 ButtonControl.GetComponent <ButtonControl>().Set_errorPanel_active("[network]Server Connection Failed"); } }
private string ReceiveString; // Receive bytes to Change string. void Awake() { //======================================================= // Socket create. m_Socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); m_Socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.SendTimeout, 10000); m_Socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReceiveTimeout, 10000); //======================================================= // Socket connect. try { IPAddress ipAddr = System.Net.IPAddress.Parse(iPAdress); IPEndPoint ipEndPoint = new System.Net.IPEndPoint(ipAddr, kPort); m_Socket.Connect(ipEndPoint); } catch (SocketException SCE) { Debug.Log("Socket connect error! : " + SCE.ToString()); return; } }
void ProcessClientOrder() { Lock(); //Buffer.BlockCopy(BitConverter.GetBytes(PROTOCOL_TYPE.NeedCameraData), 0, dataSendBuffer, 0, 1); dataSendBuffer[0] = (byte)(PROTOCOL_TYPE.NeedUserData); socket.Send(dataSendBuffer, 1, SocketFlags.None); try { socket.Receive(cameraDataRecvBuffer); } catch (SocketException SCE) { Debug.Log("Socket connect error! : " + SCE.ToString()); Quit(); return; } UnLock(); if (cameraDataRecvBuffer[0] == (byte)(0)) { return; } StartCoroutine(NewOrderCoroutine()); int carTypeBuffer = (int)cameraDataRecvBuffer[1]; int colorTypeBuffer = (int)cameraDataRecvBuffer[2]; int tireTypeBuffer = (int)cameraDataRecvBuffer[3]; carType.text = carTypeBuffer.ToString(); colorType.text = colorTypeBuffer.ToString(); tireType.text = tireTypeBuffer.ToString(); ++totalOrderCount; totalOrder.text = totalOrderCount.ToString(); switch (colorTypeBuffer) { case 0: ++blackCount; textBlack.text = blackCount.ToString(); break; case 1: ++whiteCount; textWhite.text = whiteCount.ToString(); break; case 2: ++redCount; textRed.text = redCount.ToString(); break; case 3: ++blueCount; textBlue.text = blueCount.ToString(); break; case 4: ++greenCount; textGreen.text = greenCount.ToString(); break; case 5: ++yellowCount; textYellow.text = yellowCount.ToString(); break; } }