ocrobot:alpha:enc28j60:tutorial02
聊天服务器
用来分发任何传入的消息发送给所有一个简单的服务器,即局域网内多个服务端互相聊天,发送的服务器本身也能接收到自己刚刚发出的消息。 连接的客户端,消息来自客户端。 要使用telnet到你的设备的IP地址和类型。
搭建电路
1、将ALPHA ENC28J60堆叠于ALPHA MEGA328-U上;
2、用网线连接交换机与ALPHA ENC28J60,在拨码开关中,将10拨上;
3、将ALPHA MEGA328-U通过数据线连接上电脑
代码
/* 聊天服务器 用来分发任何传入的消息发送给所有一个简单的服务器 连接客户端,要使用telnet到你的设备的IP地址和类型。 创建182009年12月 由David A.梅利斯 修改2012年4月9日 由汤姆Igoe */ #include <SPI.h> #include <UIPEthernet.h> byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; //输入MAC地址和IP地址下面控制器。 IPAddress ip(192,168,100, 177); // IP地址将取决于你的本地网络上。 IPAddress gateway(192,168,100, 1); //网关和子网是可选的: IPAddress subnet(255, 255, 255, 0); // 默认的telnet端口23 EthernetServer server(23); boolean alreadyConnected = false; //客户机是否被预先连接 void setup() { // 初始化以太网设备 Ethernet.begin(mac, ip, gateway, subnet); // 开始监听客户端 server.begin(); //打开串口通信和等待端口打开: Serial.begin(9600); while (!Serial) { ;//等待串口连接,只被Leonardo } Serial.print("Chat server address:"); Serial.println(Ethernet.localIP()); } void loop() { // 等待一会 EthernetClient client = server.available(); // 当客户端发送的第一个字节,问好: if (client) { if (!alreadyConnected) { // 清理掉输入缓冲器: client.flush(); Serial.println("We have a new client"); client.println("Hello, client!"); alreadyConnected = true; } if (client.available() > 0) { //从客户端读取传入的字符: char thisChar = client.read(); // 响应字符返回给客户端: server.write(thisChar); // 响应所有包括的字符到服务器: Serial.write(thisChar); } } }
聊天操作
ocrobot/alpha/enc28j60/tutorial02.txt · 最后更改: 2023/06/07 04:23 由 127.0.0.1