package lesson10;import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.InetAddress;
import java.net.ServerSocket;
import java.net.Socket;public class Lesson10 
{
public static void main(String[] args) 
{

if(args.length>0)

server();

else

client();

}
public static void server()
{
try {
ServerSocket ss=new ServerSocket(6000);
Socket s=ss.accept();
//创建一个服务器端到客户端的套接字。
OutputStream os=s.getOutputStream();
InputStream is=s.getInputStream();
os.write("我是爱你的".getBytes());
byte[] b=new byte[1000];
int len=is.read(b);
System.out.println(new String(b,0,len));
os.close();
is.close();
s.close();
ss.close();

} catch (IOException e) {

e.printStackTrace();
}
}
public static void client()
{
try {
Socket s=new Socket(InetAddress.getLocalHost(),6000);
OutputStream os=s.getOutputStream();
InputStream is=s.getInputStream();
byte[] b=new byte[1000];
int len=is.read(b);
System.out.println(new String(b,0,len));
os.write("我是客户端".getBytes());

os.close();
is.close();
s.close();

} catch (Exception e) {

e.printStackTrace();

}}
这个是代码。java.net.ConnectException: Connection refused: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:69)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:157)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:391)
at java.net.Socket.connect(Socket.java:579)
at java.net.Socket.connect(Socket.java:528)
at java.net.Socket.<init>(Socket.java:425)
at java.net.Socket.<init>(Socket.java:241)
at lesson10.Lesson10.client(Lesson10.java:51)
at lesson10.Lesson10.main(Lesson10.java:21)这个是异常信息。我想问下,是不是我哪个地方写错了。为什么老是显示异常连接问题?还有,这个程序在eclipse里要怎么运行呢?我看的是孙鑫的视频,用的工具不一样啊。晕。请高手帮忙解决。Eclipse服务器Java

解决方案 »

  1.   

    Socket s=new Socket(InetAddress.getLocalHost(),6000);这一行应该是Socket s=new Socket(InetAddress.getByName(null),6000);我不小心发错了,但是改了还是一样的错误,急等,谢谢。
      

  2.   

    这个,你下个eclipse或者myeclipse然后新建项目新建类把这个类copy过去就行
      

  3.   

    不行啊,他老是提示Socket s=new Socket(InetAddress.getByName(null),6000)这里有问题。
      

  4.   

        public static void main(String[] args) 
        {
             
            if(args.length>0)
             
                server();
             
            else
             
                client();  
             
     
        }
    //不知道这行怎么回事
    不过我刚才试了下 把server和client分为两个类 各有main方法 可以运行
    说明 你的连接没问题