socket本地绑定一个端口与另一个IP、端口发起连接是什么意思,用TClientSocket如何实现。
答案:3 悬赏:0
解决时间 2021-03-17 07:10
- 提问者网友:無奈小影
- 2021-03-17 00:57
请大侠们指导一下,谢谢
最佳答案
- 二级知识专家网友:而你却相形见绌
- 2021-03-17 01:05
先解释概念性的东西。
1、何为网络socket——如果有两个不同机器上的进程需要通话(譬如RPC调用,文件传输),那么它们之间就需要建立一个网络连接。该连接的两端就是socket。你可以这么理解:socket是进程之间用来对话的中间层工具。
2、本地绑定一个端口——如前所述,socket是一个中间层工具,它存在于操作系统的内核。电脑上的进程为了真正通过socket来发送/接受数据,socket必须和一个能够进行数据传送的接口连接起来,再通过那个接口送出数据。这个接口就是端口,而这个连接的过程就叫做绑定。
3、与另一个IP、端口发起连接——既然socket可以介于两个不同的机器的进程之间,那么它当然需要连接另一台机器上的进程。它需要通过IP地址和端口号来识别对方的机器和进程。
再说TClientSocket:这个类是专门用来描述TCP客户端的socket的。
建立socket:这个不用说吧?
绑定本地端口:用bind()函数——bind(Socket->SocketHandle, Addr, sizeof(Addr)),Addr的类型是TSockAddrIn *
与另一个IP和端口发起连接:socket->Address和socket->Port赋值成远程IP地址和端口号,调用socket->Open()
1、何为网络socket——如果有两个不同机器上的进程需要通话(譬如RPC调用,文件传输),那么它们之间就需要建立一个网络连接。该连接的两端就是socket。你可以这么理解:socket是进程之间用来对话的中间层工具。
2、本地绑定一个端口——如前所述,socket是一个中间层工具,它存在于操作系统的内核。电脑上的进程为了真正通过socket来发送/接受数据,socket必须和一个能够进行数据传送的接口连接起来,再通过那个接口送出数据。这个接口就是端口,而这个连接的过程就叫做绑定。
3、与另一个IP、端口发起连接——既然socket可以介于两个不同的机器的进程之间,那么它当然需要连接另一台机器上的进程。它需要通过IP地址和端口号来识别对方的机器和进程。
再说TClientSocket:这个类是专门用来描述TCP客户端的socket的。
建立socket:这个不用说吧?
绑定本地端口:用bind()函数——bind(Socket->SocketHandle, Addr, sizeof(Addr)),Addr的类型是TSockAddrIn *
与另一个IP和端口发起连接:socket->Address和socket->Port赋值成远程IP地址和端口号,调用socket->Open()
全部回答
- 1楼网友:转身后的回眸
- 2021-03-17 03:13
先去看tcpip协议就知道了
- 2楼网友:茫然不知崩溃
- 2021-03-17 01:58
多谷歌
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯