荔园在线
荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀
[回到开始]
[上一篇][下一篇]
发信人: lczhong (lcz), 信区: Program
标 题: 怎样建立客户CSocket
发信站: BBS 荔园晨风站 (Thu Mar 15 18:32:49 2001), 站内信件
发信人: Smile (呵呵~~我的昵称不见了), 信区: SOCKET
标 题: 怎样建立客户CSocket
发信站: 武汉白云黄鹤站 (2001年03月14日07:39:09 星期三), 站内信件
怎样建立客户CSocket
问: 我有一个客户socket想在socket中建立一个局域联接.我使用下列顺序:
CSocket* m_pSocket;
m_pSocket = new CSMSSocket(this);
m_pSocket->Create();
m_pSocket->Bind(m_intHostPort, m_strHostIPAddress);
m_pSocket->Connect(lpszAddress, nPort);
但每次Windows Socket都定向到别的端口,怎样才能定向到同一个端口(环境:95/NT VC5
.0).
答: 1).如果你想用Client Socket,你就不能在connect()之前调用bind(),因为局域端口
地址由TCP/IP设置,我们不可能知道下一次将使用那一个端口,我想我们不必这做.
2).看一下Create()的帮助,里面告诉我们必须给Create()指定一个端口值, 缺省的情况
为0,也就是由Window为我们选择一个端口,通过Create()将会自动捆绑. 3).我不认为你
应该完成所有的工作,但想总是用一个相同的端口来连接远程机器是一个不正确的想法.
问题出在端口数/地址结合必须唯一,如果你想在Create()中指一个固定的端口数,你只能
与远程机器建一个单个连接.在你所写的代码中是允许局域端口数可变化,可以打开多个
连接来取得相同的地址.在侦听(listening)Socket中有许多理由使用一个固定端口,但在
连接(connecting Socket中我想没有太多的必要.
--
┏━━┓┏━━┓ ☆ ┏━┓ ┏━━┓
┃ ━┫┃ ┃ ┏┓ ┃ ┃ ┃ ━┫
┣━ ┃┃┃┃┃ ┃┃ ┃ ┗┓┃ ━┫
┗━━┛┗┻┻┛ ┗┛ ┗━━┛┗━━┛
※ 来源:·武汉白云黄鹤站 bbs.whnet.edu.cn·[FROM: 211.69.197.130]
--
☆ 来源:.BBS 荔园晨风站 bbs.szu.edu.cn.[FROM: bbs@192.168.28.105]
[回到开始]
[上一篇][下一篇]
荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店