作者baconcsie (Bacon)
看板java
标题[问题] 简单ClientSocket 建立的问题,恳求板上大大解答
时间Fri Apr 8 04:13:24 2011
最近在练习简单的Socket的程式,Server端已经写好,但Client端的都照着书上打,
却还是无法建立ClientSocket,看了好久,还是不知道原因,恳求版大大帮忙解答
简短程式码如下:
-----------------------------------------------------------------------------
import java.io.*;
import java.net.*;
public class ClientSocketTest {
Socket cs;
int port;
ClientSocketTest(String host){
port = 0;
try{
System.out.println("未建立");
cs = new Socket(InetAddress.getByName(host), port);
System.out.println("已建立");
}
catch(IOException ex){
System.out.println("error!!");
}
}
public void clientInfo(){
try{
InetAddress addr = cs.getLocalAddress().getLocalHost();
System.out.println("Client Information: ");
System.out.println("Local Host: "+cs.getLocalAddress().getLocalHost());
System.out.println("Host name : "+addr.getHostName());
System.out.println("IP address: "+addr.getAddress());
System.out.println("Peot : "+cs.getLocalPort());
System.out.println("============================");
}
catch(IOException ex){}
}
}
public class JavaInternetTest {
public static void main(String[] args) {
ClientSocketTest cst = new ClientSocketTest("localhost");
//cst.clientInfo();
}
}
-----------------------------------------------------------------------------
印出结果如下
未建立
error!!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.128.18.102
※ 编辑: baconcsie 来自: 140.128.18.102 (04/08 04:20)
1F:推 glob:why你只订的连线port是0? 04/08 08:35
2F:→ baconcsie:只是要先抓取本机资料,所以先设为0 让它自动找值 04/08 09:38
3F:推 TonyQ:你从哪看到给 0 他会自动找值啊...-_- 04/08 10:05
4F:→ baconcsie:书上写的,我写Server端,设0他会自动找未使用的值 04/08 10:09
5F:→ baconcsie:刚刚试着把值改为手动设值,但是状况依旧 04/08 10:17
6F:→ TonyQ:不对,你拿到未建立是因为conenct refused.你是要建 04/08 13:09
7F:→ TonyQ:ServerSocket(被连的) 还是Socket (连别人的)? 04/08 13:10
8F:→ baconcsie:我是要建立连别人的Socket,但还没有要做连线,只是要取 04/08 13:35
9F:→ baconcsie:得本机资料 04/08 13:36
10F:→ TonyQ:你要取得什麽资料?你socket new的时候就会试着连出去了 04/08 13:53
11F:→ baconcsie:不太懂您的意思,Socket建立起来之後,可透过Socket的 04/08 15:56
12F:→ baconcsie:method取得本机的资料(hostname/ip address)不是吗? 04/08 15:59
13F:→ baconcsie:所以我只是要建立起具有Socket的物件,然後先取的本机资 04/08 16:01
14F:→ baconcsie:料而已,还没有要对server做连线,但现在却连Socket都没 04/08 16:03
15F:→ baconcsie:有被建立,因为我的"已建立"写在new Sokcet後,执行结果 04/08 16:04
16F:→ baconcsie:却没有印出"已建立",而是进入了例外处里印出error,所 04/08 16:07
17F:→ baconcsie:以他是在建立Socket时发生例外,但我却不知道为什麽会发 04/08 16:09
18F:→ baconcsie:生例外,所以想请版上大大帮我解答 04/08 16:13
19F:→ Chikei:Creates a stream socket and "connects" from SDK javadoc 04/08 16:19
20F:→ aleelyle:取得ip那些的用static method就好了 不用new物件出来 04/08 20:32