长时间没有搞网络编程,有些问题忽然想不起来了,特请教:1.TCP连接方式中,客户机设定要连接的服务器的IP及端口后发出连接请求,那么客户机本地的发送、接收数据的端口是什么?是客户机操作系统随机分配的吗?服务器接收和发送数据用的是同一端口吗?2.UDP连接方式中,本地机设定绑定接收端口,那么用于向别的机器发送数据的本地端口和本地绑定接收端口是同一个端口吗?
解决方案 »
- 用IDA反汇编静态LIB后如何保存?
- 请问关于类和类之间联系的问题!
- bcg 字节对齐问题
- 阻塞SOCKET SERVER的问题
- 关于coreldraw的曲线拟合算法。各位来讨论一下
- 怎么保存为BMP
- 请问:非模态对话框一定要寄生在模态对话框或文档试图界面上吗?
- JPG图像文件怎么才能嵌入摘要信息?
- 我在对话框中加入类成员变量,然后在对话框的构造函数对其赋值,为什么vc会报错?
- 有几个窗口的标题都是一样的 可它们的进程名表明这几个窗口是tmp(临时文件) 我试过用类名 进程id 进程路径加以区别 可是这三项每次都不一样(关闭再打开就变化了) 请问我该用什么方法抓住其特征从而实现对窗口发送指令 谢谢
- 一个SDI,想有2个FORMVIEW切换
- 想写一个UDP类,请问如何计算发送出去的UDP报文的超时?
tcp可以如楼主说的方法,穿越nat,提供稳定的通信
Client的端口是OS随机分配的;
Server的在通信中使用两类端口,监听端口和数据端口,监听端口只是负责接受连接请求,在接受请求后监听端口继续监听,OS会再分配一个端口与Client交换数据。
UDP:绑定方式和TCP类似。总的说来,在OS中同一资源不能被同时占用。除需要从外部主动与内部协商通的信协议外(如FTP),NAT可以转发几乎所有协议包。
两台通过TCP连接的机器处于不同的局域网中?
----您的意思是不同局域网中的两台机器用TCP方式连接会存在不能穿透NAT(联不上)的问题?而一台是局域网内机器,另一台是独立IP公网机器用TCP通讯就会一直连通,没有不能穿透NAT(NAT session过一段时间失效)的问题?
能不能连通还要看两台机器之间是否有防火墙屏蔽了你所使用的端口
-------
也就是说除去防火墙拦截外,具有独立公网IP的服务器与其它局域网内的客户机的通讯不用考虑NAT问题?