2015-12-03 2 views
1

Я делаю программу клиент-сервер, используя программу сокетов в java. Я wrriten кода, но когда я работает мой код на тот же lappy, то он работает, но когда я запуск этих кодов, то есть первый lappy как сервер, а другой lappy как client..then она дает мне erros следующим образом ->Клиент-серверная программа

Exception in thread "main" java.net.ConnectException: Connection refused 
    at java.net.PlainSocketImpl.socketConnect(Native Method) 
    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.SocksSocketImpl.connect(SocksSocketImpl.java:392) 
    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:208) 
    at client.main(client.java:13) 

И мой клиент код --->

import java.net.*; 
import java.io.*; 
class client{ 
public static void main(String args[])throws Exception{ 
Socket ss=new Socket("10.100.90.95",8888); 
BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); 
DataOutputStream dout=new DataOutputStream(ss.getOutputStream()); 
DataInputStream din=new DataInputStream(ss.getInputStream()); 


String str="",str2=""; 
while(!str2.equals("stop")){ 
str=br.readLine(); 
dout.writeUTF(str); 
dout.flush(); 
str2=din.readUTF(); 
System.out.println("Server says: "+str2); 
} 

    } 
} 

мой код сервера следующим образом ->

import java.net.*; 
import java.io.*; 
class server{ 
public static void main(String args[])throws Exception{ 
ServerSocket ss=new ServerSocket(3333); 
Socket s=ss.accept(); 
DataInputStream din=new DataInputStream(s.getInputStream()); 
DataOutputStream dout=new DataOutputStream(s.getOutputStream()); 
BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); 

String str="",str2=""; 
while(!str.equals("stop")){ 
str=din.readUTF(); 
System.out.println("client says: "+str); 
str2=br.readLine(); 
dout.writeUTF(str2); 
dout.flush(); 
} 
din.close(); 
s.close(); 
ss.close(); 
}} 

так скажите, пожалуйста, что случилось с этим. Thnaku.

+0

Из-за динамического назначения IP-адресов и сетевых брандмауэров сетевого маршрутизатора может быть очень сложно сделать то, что вы пытаетесь сделать – ControlAltDel

+0

Вы используете разные порты для клиента и сервера? –

+0

это выглядит как другой порт №. использует, поддерживаю его как 8888 или 3333 –

ответ

1

Вы прослушаете 3333, но пытаетесь соединиться с 8888. Это не имеет смысла. Вам нужно прослушивать тот же номер порта, к которому вы хотите подключиться.

+0

Извините, я напечатал здесь по ошибке. В реальной программе я использую тот же номер порта. – pyadav

Смежные вопросы