linux下网络编程打开端口的问题

suncs2001 2016-10-21 07:16:43
初学者在服务器端编程,监听客户端发来的数据,创建socket,端口绑定,listen等一系列动作都做了。 问题现象是执行代码后,用netstat 查看端口的状态,发现打开的端口里并没有我创建的端口。

因为对网络这块不熟悉,我有几个问题想请教一下:
1、服务器端的端口到底是怎么打开的。 是程序打开的还是通过其他命令打开的。
2、是不是使用新端口的程序都必须在防火墙里做打开端口的动作才行。
3、如果防火墙有配置打开,但是对应的程序并 没有启动,那么我在 netstat里能看到这个端口么。
4、如果是程序打开的端口,什么函数完成这个动作,是listen么,只要设置了listen,在netstat里查看端口就处于listen状态么。

因为我不知道这个问题的想象是程序的问题还是我配置的问题。
...全文
143 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
suncs2001 2016-10-26
  • 打赏
  • 举报
回复
搞清楚了,开始以为设置了listen以后,端口就处于监听状态。 实际是要不停的调用accept才能在netstat中看到处于监听状态。 端口处于监听状态后,如果防火墙没打开,外部仍然不能访问,需要在配置里打开防火墙。 如果防火墙没限制,外部能直接访问了。

23,116

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧