今天给各位分享linux怎么从端口读值的知识,其中也会对linux常用命令端口进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
1、linux环境下,c语言怎么读取WEB服务器的80端口上页面的内容
已知url ,host, port;
int s, size;
struct sockaddr_in sin;
struct hostent* phe;
char cmd[256];
char msg_hdr[1000];
char* p;
//准备http中GET 方法的请求。
sprintf(cmd,"GET %s\r\nHTTP/1.1\r\nHost:%s", url, host);
//创建socket
if((s=socket(PF_INET,SOCK_STREAM,0))0)
return -1;
//取得远程主机的IP地址,失败函数返回-1
if((phe = gethostbyname(host)) == NULL)
return -1;
memset(sin,0,sizeof(sin));
memcpy(sin.sin_addr,phe-h_addr,sizeof(struct in_addr));
sin.sin_family=AF_INET;
sin.sin_port=htons(pms-port);
//跟远程机器建立连接,失败函数返回-1
if(connect(s,(struct sockaddr*)sin,sizeof(sin))==-1)
return -1;
//发送GET请求
if(write(s,cmd,strlen(cmd))0)
return 0;
//从链接描述符(连接管道)中读取传送过来的数据
if(read(s, msg_hdr, 300)0)
error;
close(s);
//读到该文件的大小
if((p=strstr(msg_hdr,"Content-Length"))||(p=strstr(msg_hdr,"Content-length:")))
p+=16;
else
error;
//返回大小
size = atoi(p);
sprintf(cmd,"GET %s HTTP/1.1\r\nHost: %s\r\nAccept: */*\r\nPragma: no-cache\r\nCache-Control: no-cache\r\nConnection: close\r\nRange: bytes0-%d\r\n\r\n", url, host, size);
//创建套接口
if((s=socket(AF_INET,SOCK_STREAM,0))0)
return 0;
//取得远程主机的IP地址,失败返回0
if((phe = gethostbyname(host)) == NULL)
return 0;
memset(sin,0,sizeof(sin));
memcpy(sin.sin_addr,phe-h_addr,sizeof(struct in_addr));
sin.sin_family=AF_INET;
sin.sin_port=htons(port);
//建立连接
if(connect(s,(struct sockaddr*)sin,sizeof(sin))==-1)
return 0;
//发送读取请求
if(write(s,cmd,strlen(cmd))0)
error;
read(s, buf, BUFSIZE)..............
2、linux如何查看端口号
1、列出所有端口 #netstat -a
2、列出所有 tcp 端口 #netstat -at
3、列出所有 udp 端口 #netstat -au
4、只显示监听端口 #netstat -l
5、只列出所有监听 tcp 端口 #netstat -lt
6、只列出所有监听 udp 端口 #netstat -lu
7、列出所有监听 UNIX 端口 #netstat -lx
8、显示所有端口的统计信息 #netstat -s
9、显示 TCP 或 UDP 端口的统计信息 #netstat -st 或 -su
10、 输出中显示 PID 和进程名称 #netstat -p
11、netstat 输出中不显示主机,端口和用户名 (host, port or user)
3、Linux下可否直接读写端口
如果端口是某个服务或者进程开启的
可以直接怼端口进行读写
4、ARM中如何从端口数据寄存器中读取某一位的值
以下例子是STM32的:
初始化:
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;//GPIO为浮动输入模式
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOG, GPIO_InitStructure); /* PG15 */
读取一位
X=GPIO_ReadInputDataBit(GPIOG, GPIO_Pin_15);
另外基于LINUX的读取端口要配合底层驱动和应用程序,稍微复杂点
关于linux怎么从端口读值和linux常用命令端口的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。