关于socket连接的问题,进来就有分!!!!!!!

wxhbqyh 2004-11-22 01:32:23
String ipaddr=null;
Socket socket=new Socket(ipaddr,6633);

在我的机子上运行,如果ipaddr是null的话,那么创建的socket连接的是localhost;
但是在别的机子上运行就出错了,好像是NullPointerException,为什么呢,
有没有可能是jdk的版本不同而导致的呢????还是其他原因
...全文
146 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
wpx80 2004-11-22
  • 打赏
  • 举报
回复
String ipaddr=null;
Socket socket=new Socket(ipaddr,6633);

那台机器的%windir%/system32/drivers/etc下的Host文件有没有给localhost制定IP
new Socket(null,port)参数为NULL不一定就是Localhost,参数为null是指采用环路IP
也就是从127.0.0.1开始搜索可用IP
drugon 2004-11-22
  • 打赏
  • 举报
回复
为什么不直接指定为Localhost呀?
classjava 2004-11-22
  • 打赏
  • 举报
回复
如果你从新设置一下端口好一点啊
catblue 2004-11-22
  • 打赏
  • 举报
回复
会不会这个端口给关了?
snow_oracle 2004-11-22
  • 打赏
  • 举报
回复
up
funcreal 2004-11-22
  • 打赏
  • 举报
回复
开了服务器,然后用telnet就可以直接测试了。输入"BYE"就退出了。
funcreal 2004-11-22
  • 打赏
  • 举报
回复
客户端
package sockettest;

import java.io.*;
import java.net.*;

public class EchoClient {
public EchoClient() {
}

public static void main(String[] args){
try{
Socket s = new Socket("172.168.0.14",8189);
BufferedReader in = new BufferedReader(new InputStreamReader(s.getInputStream()));
PrintWriter out = new PrintWriter(s.getOutputStream(),true);
boolean more = true;
while(more){
String line = in.readLine();
if(line == null){
more = false;
}else{
System.out.println(line);
out.println("BYE");
}
}
}catch(IOException e){
e.printStackTrace();
}
}
}
funcreal 2004-11-22
  • 打赏
  • 举报
回复
服务器端
package sockettest;

import java.io.*;
import java.net.*;

public class EchoServer {
public EchoServer() {
}

public static void main(String[] args) {
try {
ServerSocket s = new ServerSocket(80);
Socket incoming = s.accept();
BufferedReader in = new BufferedReader(new InputStreamReader(incoming.getInputStream()));
PrintWriter out = new PrintWriter(incoming.getOutputStream(), true);
out.println("ok,type 'BYE' to exit");

boolean done = false;
while (!done) {
String line = in.readLine();
if (line == null) {
done = true;
} else {
out.println("echo:" + line);
if (line.trim().equals("BYE")) {
done = true;
}
}
}
incoming.close();
} catch (Exception e) {
e.printStackTrace();
}
}

}
javafaq2004 2004-11-22
  • 打赏
  • 举报
回复
我这里也行。

楼上的,因该不是端口的问题,如果是端口的问题不是抛出NullPointerException
classjava 2004-11-22
  • 打赏
  • 举报
回复
呵呵,就是说ipaddr就是默认你的ip地址啊,会不会别的机端口不行啊

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧