Red de conocimiento informático - Problemas con los teléfonos móviles - Programación del hardware del zócalo

Programación del hardware del zócalo

En el pasado, simplemente escribía un socket. No sé si puedes usarlo.

Utilizar el sistema;

Utilizar el sistema. recolectar. Genérico;

Uso del sistema. Texto;

Usar System.Net;

Usar System.Net. Net .Sockets//Puedes usar sockets

Usa el sistema. Threading; //Se pueden utilizar subprocesos múltiples.

Espacio de nombres threadtcpclient

{

Clase Threadtcpserver

{

Servidor de socket privado;

p>

Subproceso públicotcpserver()

{

Dirección IP local = Dirección IP. parse(" 192.168.0 . 66 ");

IPEndPoint IEP = nuevo IPEndPoint(local, 13000);

Servidor = nuevo Socket(AddressFamily.Internet, SocketType.Stream, protocolo type.TCP);

// Vincula el socket al punto final local

Servidor. bind(IEP);

//Escuche el número de puerto local 13000.

Servidor. Escuchar(20);

Consola. WriteLine("Esperando conexión del cliente...");

while(true)

{

//Obtener el socket que contiene la información del cliente en Word

Socket cliente = servidor. Accept();

//Crear un objeto de hilo de servicio de mensajes

ClientThread newclient = new ClientThread (cliente);

//Cambiar el ClientService de ClientThread clase El método se delega al hilo.

Hilo nuevo hilo = nuevo hilo (inicio de nuevo hilo (nuevo cliente. servicio de cliente)

//Iniciar el hilo del servicio de mensajes

Nuevo hilo. start();

}

}

static void Main(string[] args)

{

Instancia de Threadtcpserver = new Threadtcpserver();

}

}

Clase ClientThread

{

/ La variable /connections representa el número de conexiones.

Conexión int estática pública = 0;

Servicio de socket público;

int I

Subproceso de cliente público (socket Socket de cliente). )

{

//Objeto de servicio//Asumir el control del mensaje.

this.service = clientsocket

}

public void ClientService()

{

Datos de cadena = null

byte[] bytes = nuevos bytes[1024];

if (servicio!=null)

{

conexiones;

}

Consola. WriteLine("Nueva conexión de cliente establecida: {0} conexión", conexión);

Intente

{

while ((i = service.

recibir(bytes))! = 0)

{

datos = sistema. texto .codificación .ascii .getstring(bytes, 0,I); WriteLine("Datos recibidos: {0} ", datos);

//Procesa el mensaje enviado por el cliente y conviértelo a letras mayúsculas aquí.

datos = datos. ToUpper();

byte[] msg = sistema. Text.Encoding.ASCII.GetBytes(data);

//Enviar mensaje de respuesta.

Servicio. Enviar(msg);

Consola. WriteLine("Datos enviados: {0} ", datos);

}

}

Captura

{

}

//Cerrar el socket

servicio. close();

Conectar-;

Consola. WriteLine("Conexión cerrada del cliente: {0} conexiones", conexión);

}

}

}

Usar el sistema ;

Usa el sistema. recolectar. Genérico;

Uso del sistema. Texto;

Usar System.Net;

Usar System.Net. Net .Sockets

Utiliza el sistema. Io;

Threadtcpclient de espacio de nombres

{

Clase de cliente multiproceso

{

static void Main( string[] args)

{

Cliente de socket;

byte[] buf = nuevo byte[1024];

p>

Entrada de cadena;

Dirección IP local = Dirección IP. parse(" 192.168.0 . 68 ");

IPEndPoint IEP = nuevo IPEndPoint(local, 13000);

Intente

{

cliente = nuevo Socket(AddressFamily.Internet, SocketType.Stream, ProtocolType.TCP);

Cliente. Conexión(IEP);

}

catch (SocketException)

{

Consola. WriteLine("¡No se puede conectar al servidor!");

Return;

}

while(true)

{

//Ingrese un mensaje en la consola.

Entrada=consola. ReadLine();

//Ingrese la salida para desconectarse del servidor.

if (input == "salir")

{

Pausa;

}

Intentar

{

//Si el mensaje está vacío, no se enviará.

if (input != "")

{

Cliente. Send(Encoding.ASCII.GetBytes(input));

//Obtiene el número total de bytes realmente recibidos.

int rec=cliente. Recibir(buf);

Consola. WriteLine(codificación.

ASCII.GetString(buf, 0, rec));

}

}

Captura

{

}

}

Consola. WriteLine("Desconectarse del servidor...");

Cliente. close();

}

}

}

Utilice el comando serialPort ~ AT para comunicarse con el hardware. comunicación portuaria en controles C#. Configure el puerto y la velocidad en baudios, luego comuníquese enviando comandos ap y analizando la información recibida.