导航:首页 > IDC知识 > socket服务器中转

socket服务器中转

发布时间:2020-11-28 17:46:45

1、socket的服务器端和客户端的问题

简单描述: 服务器端是等待别人连接的一端.. 客户端是主动连接的一端

两个回QQ的例子:
1.两个QQ都是客户端
2.两个QQ都连接答到腾讯的QQ服务器上.
3.两个QQ之间聊天..首先QQ1 将消息发到QQ服务器上...再由QQ服务器将消息发送到QQ2上

腾讯可以限制聊天内容:
.在QQ1发到QQ服务器上时就进行过滤..如果聊天内容不符合要求..就不给你转发到QQ2上..

程序源代码:
调用connect的是客户端..

2、linux下用socket实现服务器与客户端通信,高手进来帮忙看看!!急求!!

多看书阿...

用select或者poll或者epoll吧..还有一个类似的

功能就是,等待事件发生,比如某个socket(或者句柄)有了版数据什么的,select可以权判断出来,并且返回,让你知道哪个socket出现事情了。他监听的句柄范围中没事情发生时,进程或者线程就阻塞(超时时间可以设置).

这样你就可以在select知道哪个出现数据之后,再去操作对应的socket

你说相互通信,干吗还要中转,自己用ip:port就好了阿...
要是大家都对服务器有某个请求,服务器端就用select吧..如果你处理的链接数很大,就用poll或者epoll吧,效果更好....剩下的自己去查资料...

3、SOCKET服务器不断给客户端发送数据应该怎么处理,专家进

你会socket编程吗?
看你的逻辑很清楚 ,你只需要熟悉一下socket编程就行了.这个不是几句话说清楚的.需要你自己学习.

4、现有socket服务端及客户端,由于网络原因不能进行直连,需编写一个socket中转程序。java

刚写了个demo,你可以参考一下


5、请教关于socket多个服务器的问题

两个错误和一点建议。

● 错误1 是按照题主的在问题里所描述的设计,网关服务器根本没有维持长连接的必要,只需要转发消息给业务服务器后跟 Client 的连接就可以断开了,剩下的都是业务服务器跟 Client 直接通信了。不知题主还有什么关于维持长连接的必要没有在问题里说明?

● 错误2 是如果维持长连接了,把 Client 的端口号转发给业务服务器了有什么用?Client 的这个端口正在跟网关服务器通信呢,业务服务器怎么可能通过这个端口跟 Client 建立连接?难道同一个端口还能被多个 Socket 占用吗?

● 建议 要么改为业务服务器不跟 Client 通信,还是经由网关服务器中转进行;要么业务服务器就需要跟 Client 进行“打洞”(Hole Punching)。

先说为什么要“打洞”。对于处在同一子网下的计算机还好说,假如 Client 在子网 A 下,且 A 下有多态接入设备(最常见的就是走路由了),那么 A 子网下的所有计算对于你的服务器来说 IP 都是一样的,所以你要想要穿过路由直接跟 A 子网下的某台计算机建立连接,就必须要先“打洞”。

再推荐几篇有关 C# 打洞(Hole Punching)的资料:
http://www.csharpwin.com/csharpspace/2249.shtml
http://www.cnblogs.com/OpenCoder/diary/2011/06/29/2093895.html
http://www.csframework.com/archive/2/arc-2-20110612-1557.htm
http://blog.csdn.net/yoeoo/article/details/3195403
http://www.csharpwin.com/csharpspace/2248.shtml

6、我想实现在手机间通过socket实现通信功能(不需要服务器做中转什么的),可以实现吗??要怎么做呢??

手机之间互相socket如果是内网之间是没问题的,如果是广域网存在很多专问题,涉及到网络穿透,属直接连接是万万不行的。必须通过中间服务器,实现了网络穿透连接,然后手机和手机才能直连。具体你可以查查百度 tcp 穿透。

7、服务端和客户端如何进行跨网段socket通信

这个嘛得知道各自的抄ip和程序的编号,
然后服务器绑定自己的ip和编号bind然后监听连接请求 listen 客户端申请所要链接的ip和对方的编号connect
这是tcp
udp就是都绑定各自的ip和程序的编号,谁主动connect,谁就是客户端,服务器端listen就行 ,这个传输数据快,但是不可靠,一般网页播放的媒体影音,就是用。

跨网段,这个不用你操心,协议已经考虑到了。

8、serversocket()服务器绑定到特定端口和IP是什么意思,是服务器自身的端口和IP,还是客户端的端口和IP?

Socket啊 很久没碰过了

楼主应该看看Socket的基本概念:

QQ以前是这样的,第一次通信回的时候是从服务器去做答中间转接的,但后面的通话应该是不经过服务器的。

聊天工具应该是即带有服务端的功能(监听对应的端口,不用IP哦,应该服务端的IP就是你自己网卡的IP嘛,还需要绑定啥,不是多此一举么..java也是一样的,服务端只需绑定端口就可以了)

同时聊天工具也是一个客户端,因为你必须要把信息发送到对方那里去,这里你就需要知道对方的IP和端口了。

你这个程序应该带有几个功能:
1.广播
2.客户端
3.服务端
就像飞秋那样子

还有就是建议你先看看Socket编程的书,用不了多久时间的,总比在这SB等人答你问题好啊,知识还是要靠自己

9、socket如何通过代理服务器通讯,在线等

1.客户端连接到代理服务器开放的端口;
2.客户端向代理服务器发送验证申专请;
3.代理服务器向客户端属发送一个数据包,从而客户端得知自己的通信申请是否被批准;
4.客户端向代理服务器发送一个数据包,告知代理服务器自己要连接的目的主机的地址和端口;
5.代理服务器开始进行到目的主机的真正连接;
6.代理服务器为客户端开放一个新的端口并向客户端发送一个数据包告知客户端这个新的端口;
7.客户端创建一个新的套接字并连接到代理服务器的新的端口;
8.然后,代理服务器把由新端口接收到的数据都转发给目的主机,把从目的主机发过来的数据都由新端口转发给客户端。

与socket服务器中转相关的知识