您的位置:程序门 -> vb -> 网络编程



我就纳闷了????这个winsock的连接问题怎么这么灵异??c/s的 大家帮帮我吧.....


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


我就纳闷了????这个winsock的连接问题怎么这么灵异??c/s的 大家帮帮我吧.....[已结贴,结贴人:kanon_lgt]
发表于:2007-01-15 11:46:15 楼主
我做的是c/s的聊天程序:
c端用了一个udp的winsock向广播地址广播自己的ip.      
s端也是用udp的winsock收到广播包剥离出c的ip-c,作为s端udp的ip-sudp以把自己的ip-s发给c.并且把这个ip-c也作为s端的tcp的   winsocklisten的remotehost,再进入listen状态.
然后等待c端发出connect请求.
s端受到请求后用另外一个tcp的winsocks来接受请求,accept;;


下面请大家帮忙的是:::各个端口如何设置????
发表于:2007-01-15 12:00:081楼 得分:20
好一段绕口令呀
服务器端的监听端口,客户端必须知道才行,两端必须约好服务端监听端口,然后客户端主动连接服务器的指定端口;
而客户端的端口,若无特殊要求,可用系统自动分配的端口,一般情况下服务器端不必关系客户端的端口是多少,当然可以用remoteport获得客户端口号.
发表于:2007-01-15 13:25:352楼 得分:0
看不明白
发表于:2007-01-15 14:19:533楼 得分:15
服务器榜定一个   udp断口   监听1个tcp断口   然后动态生成wisnock控件和客户端榜定、
发表于:2007-01-15 17:10:504楼 得分:0
我再把他描述的详细点吧::

客户端::
winsockrequest     udp协议     remotehost=广播地址     remoteport=4001   localport=4002
                                                  向服务器广播自己的ip的作用(client-ip)


服务器::
winsockanswer     udp协议       remotehost=client-ip   remoteport=4002   localport=4001
                                                  向客户端回复自己的ip地址(server-ip)

接下来将是tcp连接的过程   ::
首先是客户端执行下列动作:
winsockc           tcp协议         remotehost=server-ip   remoteport=5001   localport=??
                                                发出connect请求的作用   ,目的地是server.
然后是服务器监听到这个connection,他是有这样的设置监听的:
winsocklstn           tcp协议         localport=5001  

这样他就监听到了,然后就是触发下面的事件:服务器端的另一个winsock,名字是winsocks来接受这个connection,设置如下:

winsocks         tcp协议       localport=??     remoteport=??     accept

请问我该怎么设置题中的 "?? "处的端口??

帮我看看啊...谢谢   ...麻烦你们了...

发表于:2007-01-15 17:41:195楼 得分:15
简单的说就是服务器邦定的本地端口就是客户端的远程端口,客户端邦定的本地端口就是服务器的远程端口。
发表于:2007-02-03 10:52:386楼 得分:0
没人帮忙了吗?
csdn     别让我失望啊
发表于:2007-02-06 09:43:267楼 得分:30
首先服务器一个控件监听5001端口   这个不能动
winsockc           tcp协议         remotehost=server-ip   remoteport=5001   localport=0
                                                发出connect请求的作用   ,目的地是server.
//localport=0系统随即分配   指定端口会出错
然后是服务器监听到这个connection,他是有这样的设置监听的:
winsocklstn           tcp协议         localport=5001  

这样他就监听到了,然后就是触发下面的事件:服务器端的另一个winsock,名字是winsocks来接受这个connection,设置如下:

winsocks           accept   就可以了千万别指定本地的端口和ip   其实客户端   和服务器都是采用5001端口   只不过session不同
发表于:2007-05-12 13:12:588楼 得分:0
大家   我怎么不能结贴给分啊啊?   怎么回事啊?


快速检索

最新资讯
热门点击