Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 Jun 22
sparklines
Close Help
  • 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
1
Question by simyuan · Mar 07, 2013 at 07:16 PM · serverwindowsclient.netsocket

a question about Client/Server programming in Unity

Hello everyone! In my project, I need to connect a windows forms app to a unity server to send commond. But I met following problems:

  1. I found that the network function in unity can not work here, so I chose .Net TcpClient/TcpServer. It worked, but when I loaded another scene, it stoped until I closed unity in task manager of windows. Do you met this situation before?If so, is it means that Using .Net Network function is not a good way for my program?

  2. Then I try to program with Socket. It worked fine when loading new scene. But I found after connecting with server, the windows forms app cannot send massage successfully. The code that receive data in unity was started in a new thread and run in when(true). Is it a right way to wait the data? or Is there any better way to do that?

Please give me some advice if it is convenint. I will post my code when I am in my work place. So happy to discuss with you about programming in Unity.

Thank you very much!

Comment
Add comment · Show 3
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 Landern · Mar 07, 2013 at 07:25 PM 0
Share

by server are you referring to the master server?

avatar image simyuan · Mar 08, 2013 at 01:43 PM 0
Share

I am not referring to the master server. I'm developing a game which need to connect with a external device ,such as iPad or mobile phone. The device can send commond to the game running on PC through network

avatar image whydoidoit · Mar 08, 2013 at 01:55 PM 0
Share

I'd be guessing that you have attached your networking to some object that is being deleted when a new level is loaded. You could try marking that object with the networking code with DontDestroyOnLoad.

Waiting on another thread is fine as long as you sync back to the main thread to do something with the retrieved data. There's a Unity Gems article on threading which shows how to do that syncing.

1 Reply

· Add your reply
  • Sort: 
avatar image
0

Answer by Statement · Mar 08, 2013 at 03:19 PM

As whydoidoit commented (answered? :)), it is likely that your objects that receive the data got destroyed. Also you should be careful with threads. Unitys API is not thread safe for the a lot cases and you should take care to process Unity calls in the main thread - so you might need to perform some synchronization depending on what you're doing.

Sockets are expected to work. Please ensure that your objects aren't destroyed DontDestroyOnLoad(gameObject); is hopefully all you need to do. Threads are also supported, but it is easy to make mistakes, accessing Unity from a user thread or callback thread for example.

Comment
Add comment · 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

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.

Follow this Question

Answers Answers and Comments

13 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

Related Questions

MATLAB to Unity Port Connection 0 Answers

How can I make that one player could watch other player's game as an observer? 1 Answer

server/ client streaming 3 Answers

Networking RPC calls never sent to other clients 1 Answer

Why won't my network code run on LAN? 2 Answers


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges