以下是使用# 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));
}
}
node
Node JS是一个类似的套接字库,可以帮助JS用户通过套接字进行通信吗?
注意:我会说,node
是一个框架而不是库,因为JS代码被web.xml
<web-app>
<servlet>
<servlet-name>org.foo.rest.MyApplication</servlet-name>
</servlet>
...
<servlet-mapping>
<servlet-name>org.foo.rest.MyApplication</servlet-name>
<url-pattern>/resources/*</url-pattern>
</servlet-mapping>
...
</web-app>
使用,不像上面的C程序调用套接字库函数
答案 0 :(得分:2)
node.js是一个包含许多库函数的Javascript运行时(能够运行Javascript程序)。一个这样的库函数,它包括一个套接字库,用于建立套接字连接并通过这些套接字进行通信。 node.js中的那个库被称为&#34; net&#34;您可以看到记录的文件here。
这只是node.js所做的一件事,它只提供了一种类型的功能。如果不需要,node.js程序不必使用网络库。其他库(如http库)构建在网络库之上,以提供更高级别的网络功能,如http服务器和http请求。
node.js在概念上类似于Python实现的范围。两者都包括一个语言解释器,一组用于核心功能的内置库(网络,文件I / O等等),能够运行以受支持语言编写的程序,以及包含为其编写的其他库的能力。环境或创建自己的库。