Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 11 Next capture
2021 2022 2023
1 capture
11 Jun 22 - 11 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
3
Question by sebeisdrache · Jul 19, 2015 at 10:52 AM · messageunity multiplayer

Sending Messages with Unet

Hello,

I'm trying to send a Message over the network, like in this example: http://docs.unity3d.com/Manual/UNetMessages.html

 using UnityEngine;
 using UnityEngine.Networking;
 using UnityEngine.Networking.NetworkSystem;
 
 public class Begin : NetworkBehaviour
 {
     const short MyBeginMsg = 1002;
 
     NetworkClient m_client;
 
     public void SendReadyToBeginMessage(int myId)
     {
         var msg = new IntegerMessage(myId);
         m_client.Send(MyBeginMsg, msg);
     }
 
     public void Init(NetworkClient client)
     {
         m_client = client;
         NetworkServer.RegisterHandler(MyBeginMsg, OnServerReadyToBeginMessage);
     }
 
     void OnServerReadyToBeginMessage(NetworkMessage netMsg)
     {
         var beginMessage = netMsg.ReadMessage<IntegerMessage>();
         Debug.Log("received OnServerReadyToBeginMessage " + beginMessage.value);
     }
 }


the Init method is never called by the system, Its hard to find a working solution with the docs.

Waht I want to test is:

Sending a MSG to the server and the server sould respond to this message with a other msg.

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

2 Replies

· Add your reply
  • Sort: 
avatar image
0

Answer by xx · Jul 19, 2015 at 07:09 PM

Look at this example, it helped me a lot http://forum.unity3d.com/threads/master-server-sample-project.331979/

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
avatar image
0

Answer by steve-parker-ubm · Feb 19, 2017 at 11:06 PM

Hi sebeisdrache

I know this is an old thread, but for anyone else coming across this You need to Start your server, which is why the client doesn't connect in the code above.

(here is my code - using MatchMaking in 5.5 - but the concept is the same).

 public virtual void OnMatchCreate(bool success, string extendedInfo, MatchInfo matchInfo)
     {
         if (success)
         {
             Debug.Log("Match Created");
 
             MatchInfo hostInfo = matchInfo;
 
             NetworkServer.Listen(hostInfo, 9000);
             NetworkManager.singleton.StartServer(hostInfo);
 
             **NetworkServer.RegisterHandler(MsgType.Ready, OnClientVoted);**
 
             ActionText.text = "created server";
 
         }
         else
         {
             Debug.LogError("Create match failed");
         }
     }

Important bit that "got me" was that I was registering the Handlers before starting the server (which is stupid of me). Once I put the registration in AFTER the Server started, the events hook up properly.

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

25 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

Related Questions

OnTriggerStay Problem with rate? 1 Answer

Receive messages to C# 0 Answers

how to send message every few seconds? 3 Answers

Finding the player who killed you (Multiplayer) 1 Answer

Calling OnControllerColliderHit() from script not attached to characterController 0 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