使用socket编写ftp,一台机器又作服务器又作客户端,为什么客户端能连上服务器,而服务器连不上客户端呢

来源:百度知道 编辑:UC知道 时间:2024/06/14 07:20:36
服务器端代码: Socket socket=null;
try {
//
socket=serverSocket.accept();

Handler handler=new Handler(socket);
handler.start(); //接受来自客户端的连接
。。。。。。
Socket tempSocket = new Socket("localhost",tempPort);
//发起对客户端的连接,tempPort为客户端监听端口
客户端代码:

socket = new Socket("localhost", 21);//这里可以连接到服务器

。。。。。

dataSocket = serverDataSocket.accept();//这里一直在等待,收不到服务器发起的连接。
为什么一样的写法,结果却大相径庭呢?

不才,还请各位指教,50分奉上

你给出的代码不是关键的代码呀,把关于bind,accept,conncet三个函数相关的东西放上来看下呀。
一般而言:服务器连不上客户端是因为客户端没有提供服务。(UDP)
对于TCP而言,相信没有连接不上的问题,只是主动与被动的问题,因为TCP协议多数是用在(C/S)模式。如果不不明白请将关键代码示出。