NodeJS是用于网络的套接字库吗
Is NodeJS a socket library for networking?
下面是使用libC
提供的套接字功能的服务器程序(C)
# include <unistd.h>
# include <sys/socket.h>
# include <sys/types.h>
# include <string.h>
#include <netinet/in.h>
main(){
int listfd,connfd,retval;
//pid_t childpid;
socklen_t clilen;
struct sockaddr_in cliaddr, servaddr;
listfd = socket(AF_INET, SOCK_STREAM, 0);
printf("listfd = %d ", listfd);
if (listfd < 0){
perror("sock:");
exit(1);
}
bzero(&servaddr, sizeof(servaddr));
servaddr.sin_family = AF_INET;
servaddr.sin_addr.s_addr = htonl(INADDR_ANY);
servaddr.sin_port = htons(8004);
retval = bind(listfd, (struct sockaddr *) &servaddr, sizeof(servaddr));
if(retval < 0){
perror("bind:");
exit(2);
}
listen(listfd, 5);
while(1){
clilen = sizeof(cliaddr);
connfd = accept(listfd, (struct sockaddr *) &cliaddr, &clilen);
printf(" connfd= %d",connfd);
printf(" client connected 'n");
printf(" client's port no = %d'n",htons(cliaddr.sin_port));
}
}
NodeJS是一个类似的套接字库,可以帮助JS用户通过套接字进行通信吗?
注意:我想说,node
是一个框架,但不是库,因为JS代码是由node
消耗的,不像上面的C程序调用套接字库函数
这只是node.js所做的一件事,也是它所提供的一种功能。node.js程序在不需要的情况下不必使用网络库。其他库(如http库)构建在网络库之上,以提供更高级别的网络功能,如http服务器和http请求。
node.js在概念上与Python实现的覆盖范围相似。两者都包括一个语言解释器,一组用于核心功能(网络、文件I/O等)的内置库,运行用支持的语言编写的程序的能力,以及包括为环境编写的其他库或创建自己的库的能力。
相关文章:
- 如何通过网络套接字连接到树莓派上的Mosquitto经纪人
- 套接字io客户端网络::ERR_CONNECTION_REFUSED
- 如何在网络工作者中访问网络套接字
- Mocha网络套接字测试https服务器
- 如何播放从网络套接字流接收的PCM音频
- SignalR-网络套接字-超过缓冲区长度
- 是否可以与位于不同于html5网站呈现的服务器的网络套接字进行通信
- 节点网络套接字:1006远程对等方在谷歌Chrome上丢弃的连接
- 网络套接字是否安全
- 具有网络套接字接口的数据库
- 码头,网络套接字和UTF8编码
- 流星,模数和安全网络套接字
- 无法与网络套接字通信.高速公路:收到 HELLO 消息,会话尚未建立
- 使用phantomjs或node从网站上抓取通过网络套接字流式传输的数据
- 网络套接字握手.从ws到wss
- 安卓应用和网络浏览器之间的套接字通信
- 理论:通过网络套接字提供静态内容可能/可行吗
- 如何通过网络套接字发布音频
- Golang网络套接字处理程序
- 如何通过节点网络套接字连接ruby TCP服务器