📄 tcpecho.c
字号:
////////////////////////////////////////////////////////////////////////////////
// tcpecho.c :
//
#include <stdio.h>
#include "netconf.h"
#include "net.h"
#include "netbuf.h"
#include "nettcp.h"
#include "domain.h"
#include "tcpecho.h"
////////////////////////////////////////////////////////////////////////////////
/*
extern int tcpOpen(void);
extern int tcpClose(int ud);
extern int tcpConnect(u_int ud, const struct sockaddr_in *remoteAddr, u_char tos);
extern int tcpListen(u_int ud, int backLog);
extern int tcpBind(u_int ud, struct sockaddr_in *peerAddr);
extern int tcpRead(u_int ud, void *buf, long len);
extern int tcpWrite(u_int ud, const void *buf, long len);
extern long tcpRecvFrom(int ud, void *buf, long len, struct sockaddr_in *from);
extern long tcpSendTo(int ud, const void *buf, long len, const struct sockaddr_in *to);
*/
static char dname[] = "32.24.119.202";
static const char str[] = "GET /\n\r";
unsigned int total;
void TcpEchoTask(void)
{
int bytes;
int socket;
struct sockaddr_in sockAddr;
char buffer[512];
// int len;
int ret;
u_long server_addr;
int32 ip_addr;
total = 0;
//server_addr = inet_addr("202.119.24.18"); //Second DNS server
//ip_addr = *((int32 *)&server_addr);
//add_nameserver(ip_addr);
//server_addr = inet_addr("202.119.24.12"); //Primary DNS server
//ip_addr = *((int32 *)&server_addr);
//add_nameserver(ip_addr);
ip_addr = resolve(dname);
server_addr = *((u_long *)&ip_addr); //Http server
// server_addr = ntohl(inet_addr("211.65.48.150"));
sockAddr.ipAddr = server_addr;
sockAddr.sin_port = 80;
sockAddr.sin_family = AF_INET;
socket = tcpOpen();
do{
ret = tcpConnect(socket, &sockAddr, 0);
} while(ret != 0);
tcpWrite(socket, str, strlen(str));
do {
bytes = tcpRead(socket, &buffer, sizeof(buffer));
if (bytes > 0) {
total += bytes;
}
} while (1);
tcpClose(socket);
}
////////////////////////////////////////////////////////////////////////////////
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -