EasyManua.ls Logo

Epson UB-E04 - Direct Printing by PORT9100; For Windows Console

Epson UB-E04
43 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
32
Direct printing by PORT9100
For Windows Console
The following program is a sample of printing "EPSON UB-E04" to a TM printer with the UB-E04 from the
Windows shell, through the Ethernet connection.
/* TCP9100 programming sample for win32
* HOW TO BUILD
* cl wtcp.cpp wsock32.lib
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <winsock.h>
int main(int argc, char* argv[])
{
WSADATA data;
SOCKET sock;
struct linger Linger;
struct sockaddr_in addr;
char buf[64];
int n;
if (argc != 2) {
printf("usage: wtcp <IP_ADDRESS>\n");
exit(1);
}
/* Initialize windows socket */
WSAStartup(0x0101, &data);
/* Create socket */
if ((sock = socket(AF_INET, SOCK_STREAM, 0)) == INVALID_SOCKET) {
fprintf(stderr, "Error socket(): %d\n", WSAGetLastError());
exit(1);
}
/* Set connection timeout */
Linger.l_onoff = 1;
Linger.l_linger = 60;
setsockopt(sock, SOL_SOCKET, SO_LINGER, (char*)&Linger, sizeof(struct linger));
/* initialize the parameter */
memset(&addr, 0, sizeof(addr));
addr.sin_family = AF_INET;
addr.sin_port = htons(9100);
addr.sin_addr.s_addr = inet_addr(argv[1]);
/* connect */
if (connect(sock, (struct sockaddr*)&addr, sizeof(addr)) < 0) {
fprintf(stderr, "Error connect(): %d\n", WSAGetLastError());
exit(1);
}
printf("connected\n");
/* send data */
send(sock, "EPSON UB-E04\n", 13, 0);
/* gracefully close */
shutdown(sock, 1); /* SD_SEND*/
while(1) {
n = recv(sock, buf, 64, 0);
if (n == SOCKET_ERROR || n == 0 ) {
break;
}
}
shutdown(sock, 2); /*SD_BOTH*/
/* close socket */
closesocket(sock);
return 0;
}

Table of Contents

Other manuals for Epson UB-E04

Related product manuals