javascript - 多个应用程序进程可能通过同一个TCP端口传输数据吗?

查看:91
本文介绍了javascript - 多个应用程序进程可能通过同一个TCP端口传输数据吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

下边的这段话.

依照我的理解, 每个进程都是一个端口, 比如FTP的21, TELNET的23等, 都是独用的.

但是这段话中说, 多个应用程序可能通过同一个TCP端口传输数据. 让我不解.

Socket协议, 到底是因为什么问题而存在的.

解决方案

注意断句!多个是修饰应用程序还是修饰进程的。

一般来说同一个电脑上多个应用程序是不能同时使用一个端口的。

但是,多个进程确是可以复用同一个端口的 -- 很多操作系统允许子进程复用父进程使用的端口。 具体怎么协调由应用程序自身来控制,而为了区分进程自然得有个东西,这就是socket.

举个例子吧,随手找了个服务器,看看里面的apache服务的进程:

# ps -elf | grep httpd | grep -v grep

再看看哪些进程使用了80端口:

# lsof -i tcp:80

可以看到里面有很多httpd的进程都监听了80端口

所以呢... LZ你应该明白了吧。诸位也都散了吧。

有兴趣的话,可以参考下这个模拟Apache的小程序: https://gist.github.com/Clare...

这篇关于javascript - 多个应用程序进程可能通过同一个TCP端口传输数据吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆