我目前正在尝试实现服务器和客户端之间的通信。 我已经能够连接和断开与服务器的连接。 不,我尝试发送实际数据。这是我的问题...... 我创建了一个方法(在unity-c#中)来发送消息:
public void SendServerMessage(message mes)
{
if (connectedToServer)
{
try
{
// convert message into a byte array, wrap the message with framing
Debug.Log("1");
byte[] messageObject = ConversionTools.convertObjectToBytes(mes);
Debug.Log("2");
byte[] readyMessage = ConversionTools.wrapMessage(messageObject);
Debug.Log("3");
// send completed message
cSock.Send(readyMessage);
}
catch
{
Debug.Log("There was an error sending server message " + mes.messageText);
}
}
}
- >我得到Debug.Log(" 1");输出,但然后我从catch块获取错误消息。 这是功能:
public static byte[] convertObjectToBytes(object o)
{
//used when sending our custom classes
MemoryStream memStream = new MemoryStream();
BinaryFormatter binForm = new BinaryFormatter();
binForm.Serialize(memStream, o);
return memStream.ToArray();
}
消息是我创建的类,如下所示:
[Serializable]
public class message
{
//used to communicate between Server and Client
public string messageText;
private List<scObject> scObjects = new List<scObject>();
public int messageID;
[...]
可以通过添加字符串等来操作对象。
我真的希望你们能帮我解决这个问题:( 我实际上是在教程的帮助下创建的,并且在2012年的教程中代码可以正常工作。我用Google搜索并尝试了很多,但我不知道如何解决它。