C# 从Unity向Raspberry发送数据

C# 从Unity向Raspberry发送数据,c#,python,unity3d,C#,Python,Unity3d,我正试图从Unity向Raspberry Pi发送数据。我已经成功地连接了他们,但我无法传递任何数据,请帮助 这是我在树莓方面使用的代码 import socket backlog=1 size = 1024 s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.bind(("169.254.242.100",50001)) s.listen(backlog) try: print ( "is waiting") c

我正试图从Unity向Raspberry Pi发送数据。我已经成功地连接了他们,但我无法传递任何数据,请帮助

这是我在树莓方面使用的代码

import socket



backlog=1
size = 1024
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(("169.254.242.100",50001))
s.listen(backlog)
try:
    print ( "is waiting")
    client, address = s.accept()

    while 1:
        data = client.recv(size)
        if data:
            tabela = data
            print ( "sends data")
            print (tabela[0])

            client.send(data)
except:
    print("closing socket")
    client.close()
    s.close()
这就是我在统一中使用的

using UnityEngine;
using System.Collections;
using System.Net.Sockets;

public class UnityToRaspberry : MonoBehaviour {

public string IP = "169.254.242.100"; //
public int Port = 50001;

public byte[] dane = System.Text.Encoding.ASCII.GetBytes("Hello");
public Socket client;

void Start(){
    //dane [0] = 1;

    client = new Socket (AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
    client.Connect (IP, Port);
    if (client.Connected) {
        Debug.Log ("Connected");
    }
    client.Send (dane);
}

void OnApplicationQuit(){
    client.Close();
}



}

谢谢大家!

我敢打赌你一定非常接近!我已经使用了您的代码以及Unity答案[1]中的一个示例。这就是我必须通过tcp套接字在Mac OSX Sierra上的Unity 5.5.0f3和Raspberry Pi 3 B型之间建立连接和传输数据的目的

团结一致:

void    setupSocket()
{
    s.socketReady = false;
    s.host = "192.20.20.2";
    s.port = 50001;

    try {                
        s.socket = new TcpClient(s.host, s.port);
        s.stream = s.socket.GetStream();
        s.writer = new StreamWriter(s.stream);
        s.reader = new StreamReader(s.stream);
        s.socketReady = true;
    }
    catch (Exception e) {
        Debug.Log("Socket error:" + e);
    }
}

void Update()
{
   s.writer.Write("Hello Pi!");
   s.writer.Flush();
}
Pi上的Python:

import socket

backlog = 1
size = 1024
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(('192.20.20.2', 50001))
s.listen(backlog)
try:
    print ("is waiting")
    client, address = s.accept()

    while 1:
        data = client.recv(size)
        if data:
            print (data)

except:
    print("closing socket")
    client.close()
    s.close()
资料来源: