我一直试图让我的Arduino Uno使用以太网屏蔽作为TCP服务器连接到Java客户端。 java客户端看到端口正在使用但Arduino服务器没有看到java客户端,但是当我输入IP和端口号时,Arduino服务器确实将Web浏览器视为客户端。我已经尝试过Arduino网站上的Arduino服务器代码,也没有运气。
Arduino服务器代码:
#include <Ethernet.h>
#include <SPI.h>
IPAddress ip(192, 168, 0, 30);
byte mac[] = {0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0xFF};
EthernetServer server = EthernetServer(1234);
void setup() {
Serial.begin(9600);
Ethernet.begin(mac, ip);
delay(1000);
server.begin();
Serial.println("Waiting for client...");
}
void loop() {
EthernetClient client = server.available();
if(client == true){
Serial.println("Connected");
}
}
Java客户端代码:
import java.io.*;
import java.net.*;
public class TCPClient {
public static void main(String args[]) {
try {
Socket skt = new Socket("192.168.0.30", 1234);
BufferedReader in = new BufferedReader(new InputStreamReader(skt.getInputStream()));
System.out.print("Received string: '");
while (!in.ready()) {}
System.out.println(in.readLine()); // Read one line and output it
System.out.print("'\n");
in.close();
}catch(Exception e) {
System.out.print("Connection Failed\n");
e.printStackTrace();
}
}
}
感谢任何帮助。感谢。