社区
网络编程
帖子详情
如何实现通过服务器,让两个客户端互相通信!
tjjccnu
2005-01-05 02:44:31
我的意思是,两个客户端A和B都各自通过一个socket和服务器连接,要求是tcp而不是udp, 然后其中一个客户端A向服务器发出请求,通过服务器的处理,实现另一个客户端B对其做出响应,即间接实现两个客户端的互联,有点p2p的意思!
谢谢了,在线等,马上结贴
...全文
848
16
打赏
收藏
如何实现通过服务器,让两个客户端互相通信!
我的意思是,两个客户端A和B都各自通过一个socket和服务器连接,要求是tcp而不是udp, 然后其中一个客户端A向服务器发出请求,通过服务器的处理,实现另一个客户端B对其做出响应,即间接实现两个客户端的互联,有点p2p的意思! 谢谢了,在线等,马上结贴
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
tjjccnu
2005-01-07
打赏
举报
回复
问题没有解决,还是把分给了吧!
自己回去再研究研究!
balloy
2005-01-06
打赏
举报
回复
多谢
HunterForPig
2005-01-06
打赏
举报
回复
如果是两个内网client要通讯,那么代理当然要外网
balloy
2005-01-06
打赏
举报
回复
to HunterForPig(留着口水的猪) :
你说的用代理,是指用外网提供的代理了,对吗?
muroachanf
2005-01-06
打赏
举报
回复
路过
HunterForPig
2005-01-06
打赏
举报
回复
如果防火墙限定了某几个端口(假设只开了80、90),那么P2P程序该怎么办呢?
那就用代理了
balloy
2005-01-06
打赏
举报
回复
多谢kingzai(stevenzhu) 提供的文章。
但是还是有问题,如果防火墙限定了某几个端口(假设只开了80、90),那么P2P程序该怎么办呢?
kingzai
2005-01-05
打赏
举报
回复
http://dev.csdn.net/Develop/article/23/23869.shtm
3.5. Simultaneous TCP open(TCP同时打开)
在一对节点都在已存在middlebox后,有一种建立直接P2P TCP连接的方法有时候会被使用。大多数TCP连接都是从一个终端发从一个SYN包到另一个终端,另一个中断同步响应一个SYN-ACK包。无论怎样,对于两个终端来说,同时通过发送同步包到对方然后用一个ACK包应答来建立一个TCP连接是可行的。这种过程就被称为"simultaneous open"(同时打开)
如果一个middlebox从尝试建立一个TCP连接的私有网络的外面接受一个TCP SYN包,middlebox通常以丢弃这个SYN包或者发送一个TCP RST(连接复位)包的方式来拒绝这个连接尝试。但是,如果同步包与源和目的地址端口一起到达,那么会让middlebox相信一个TCP连接已经建立起来,然后middlebox将会允许数据包通过。特别是如果middlebox刚刚得到并转换了一个从同样地址和端口来的SYN包,它将认为连接是成立的并允许进来的SYN通过。如果客户端A和B能彼此预测公共端口,它们各自的middlebox将分配下一个TCP连接端口,如果其中一个客户端和另一个客户端建立一个外部的TCP连接,可以在对方SYN到达本地middlebox之前就发送SYN包通过它本地自己的middlebox,那么P2P TCP连接就可以工作了。
...
sharkhuang
2005-01-05
打赏
举报
回复
其实就是做了个2进制的管道
oyljerry
2005-01-05
打赏
举报
回复
TCP不是不行,而是比较难以实现
balloy
2005-01-05
打赏
举报
回复
http://www.ppcn.net/show.aspx?id=1306&cid=2
不过我还是有疑问,如果防火墙只开了80端口,那么该怎么办呢?
另外,to HunterForPig(留着口水的猪) :
TCP为什么不行呢?
tjjccnu
2005-01-05
打赏
举报
回复
呵呵,是啊,upd好象可以实现!
那p2p软件都是什么原理呢?怎样实现的啊?比如bt!
HunterForPig
2005-01-05
打赏
举报
回复
tcp 讨论过很多次了
每次都是无疾而终
tjjccnu
2005-01-05
打赏
举报
回复
你说的我明白,但是我想做的是,我发送一个请求,能够通过服务器直接让另一个客户端响应,就是直接修改ip头。
当然你说的这种情况,如果要和n台机器通信,不是每个客户端都要保留n个socket!
nastar
2005-01-05
打赏
举报
回复
客户端登陆服务器是为了获得对方的IP地址
nastar
2005-01-05
打赏
举报
回复
当2个客户端都要留有一个监听端口(客户程序中定义),当双方都连接服务器成功后,服务器将另一个IP发过来,客户端就利用这个IP向另一个客户端发出连接请求。不知道这么解释你明白没有。
换句话说,客户端也要同时留一个服务套口。
C# Socket简单例子(
服务器
与
客户端
通信
)
这是
两个
很简单的程序(服务端、
客户端
) 达成两端之间的
通信
例子。 Socket
两个
客户端
通过
服务器
通信
(互发)
创建
两个
客户端
A,B,一个
服务器
。 要求:
客户端
A,B都能传小写字母给
服务器
,
服务器
接收后转换成大写字母 回传给对方
客户端
(A写的返回给B,B写的返回给A)。 效果:
客户端
A处输入一个字母,
客户端
B输出一个大写字母。
客户端
B 处输入一个字母,
客户端
A输出一个大写字母(可以添加说明printf()输入为 / 转换后输出为)
客户端
A和B是同一个执行文件
两个
客户端
通信
的socket简单
实现
实现
两个
客户端
通过
服务器
来进行
通信
的小程序
C#利用Socket
实现
客户端
通信
(包含:
服务器
和
客户端
通信
,
客户端
通过
服务器
和
客户端
通信
)
实验功能: 设计程序,分别构建
通信
的两端:
服务器
端和
客户端
应用程序,套接字类型为面向连接的Socket,自己构建双方的应答模式,
实现
双方的数据的发送和接收(S发给C,C发给S)。 服务端程序能响应单个或任意多个
客户端
连接请求;服务端能向单个客户发送消息,支持群发消息给所有
客户端
;
通信
的双方具备异常响应功能,包括对方异常退出的处理。如果
客户端
退出,
服务器
有响应;反之亦然。
客户端
之间直接
通信
,C与C之间直接
通信
(不是通过S传递)。 设计思路: 服务..
写出一个TCP
服务器
,
实现
可以让
两个
TCP
客户端
通信
(C/C++)简易版
今天又是无聊的一天。 想了想,可以写一个游戏。并且能
实现
两个
人联网互动。 因为希望可以
两个
人通过云
服务器
来
实现
通信
。 所以我选择在云
服务器
上,写一个TCP
服务器
,再将
两个
人的TCP信息
互相
转发。 那么说干就干。 首先,云
服务器
是Linux系统,所以库函数是在Linux下的。并且使用C/C++进行开发。 先来一个最简单的版本。就是只能
两个
人
通信
。 先放出代码。 #include<stdio.h...
网络编程
18,356
社区成员
64,214
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章