• Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
0
Question by Mojo-Game-Studio · Jan 09, 2019 at 08:16 PM · shadernetworkingstreamreadertcpclient

I have a simple tcpClient and a server, both connect ok and work in unity editor but not as standalone

Hi all, I have two project that communicate via sockets, when I run them both from 2 unity editor projects, the communication works fine between them, but as standalone they don't, netstat doesn't even show them as 'listening'. Ports are configured correctly.

They both run on the local machine, basically connecting to 127.0.0.1:11000

need help fast please, anybody have any ideas?

Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

1 Reply

· Add your reply
  • Sort: 
avatar image
0
Best Answer

Answer by Mojo-Game-Studio · Jan 09, 2019 at 08:50 PM

 using UnityEngine;
 using System.Collections;
 using System;
 using System.IO;
 using System.Net.Sockets;
 using System.Text;
 
 public class s_TCP : MonoBehaviour
 {
 
     internal Boolean socketReady = false;
     TcpClient mySocket;
     NetworkStream theStream;
     StreamWriter theWriter;
     StreamReader theReader;
     String Host = "localhost";//CLUDGE TO BE READ FROM file
     Int32 Port = 11000;
 
     public bool initialised = false;
 
     public void Initialise(string h,int p)
     {
         Host = h;
         Port = p;
         setupSocket();
         initialised = true;
         SendCommand("5");   //initialse command to server
     }
     void Update()
     {
         if (!initialised) return;
         //theStream.Flush();
         string str = readSocket();
         Debug.Log("Socket bufffer = " + str);
         if (str.Length > 0) SendMessage("DoCommand", str);
        
 
     }
 
     private void OnDestroy()
     {
         closeSocket();
     }
     // **********************************************
     void setupSocket()
     {
         try
         {
             mySocket = new TcpClient(Host, Port);
             theStream = mySocket.GetStream();
             theStream.ReadTimeout = 1;
             theWriter = new StreamWriter(theStream);
             theReader = new StreamReader(theStream);
             socketReady = true;
         }
         catch (Exception e)
         {
             Debug.LogError("Socket error: " + e);
         }
     }
     public void SendCommand(string command)
     {
         if (!socketReady)
             return;
         //String foo = theLine + "\r\n";
         theWriter.Write(command);
         theWriter.Flush();
     }
     public String readSocket()
     {
         if (!socketReady)
             return "";
         try
         {
             // Check to see if this NetworkStream is readable.
             if (theStream.CanRead)
             {
                 byte[] myReadBuffer = new byte[1024];
                 StringBuilder myCompleteMessage = new StringBuilder();
                 int numberOfBytesRead = 0;
 
                 // Incoming message may be larger than the buffer size.
                 do
                 {
                     numberOfBytesRead = theStream.Read(myReadBuffer, 0, myReadBuffer.Length);
 
                     myCompleteMessage.AppendFormat("{0}", Encoding.ASCII.GetString(myReadBuffer, 0, numberOfBytesRead));
 
                 }
                 while (theStream.DataAvailable);
                 return myCompleteMessage.ToString();
                 
             }
             //return theReader.ReadLine();
         }
         catch (Exception e)
         {
             return "";
         }
         return "";
     }
 
     public void closeSocket()
     {
         if (!socketReady)
             return;
         theWriter.Close();
         theReader.Close();
         mySocket.Close();
         socketReady = false;
     }
 } // end class s_TCP
 
Comment
Add comment · Show 2 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image Mojo-Game-Studio · Jan 09, 2019 at 08:51 PM 0
Share

sorry forgot to include the code in the question

avatar image Mojo-Game-Studio · Jan 09, 2019 at 10:31 PM 0
Share

problem was Run In background wasn't enabled

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Welcome to Unity Answers

The best place to ask and answer questions about development with Unity.

To help users navigate the site we have posted a site navigation guide.

If you are a new user to Unity Answers, check out our FAQ for more information.

Make sure to check out our Knowledge Base for commonly asked Unity questions.

If you are a moderator, see our Moderator Guidelines page.

We are making improvements to UA, see the list of changes.



Follow this Question

Answers Answers and Comments

194 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Unity 'client' SslStream with TLS 1.0 TCP connection to 'server' running .net 4.5 0 Answers

Unity TCP async functions 0 Answers

Streaming EEG data from Qstreamer to Unity 0 Answers

TCP Server/Client with Laptop/Phone doesn't work with devices, does work on local host. 1 Answer

Remove players and close server in Unity Multiplayer Game 0 Answers

  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges