Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.01.2013, 16:12   #1
WOLFak
Форумчанин
 
Аватар для WOLFak
 
Регистрация: 30.12.2007
Сообщений: 180
По умолчанию Socket, Connection timed out: connect. Не можем соединиться

Здравствуйте.
Решили попробовать законектиться через сокеты с другом. Сразу говорю, что глубин не знаем.
ПРоблема следующая: у нас вин7. При попытке присоединиться у клиента выает следующее исключение.
Если пытаться на одной машине через localhost то все проходит хорошо.
Но если на одном и том же компьютере, но через внешний ип, то снова та же проблема. Что мы делаем не так?
Код:
java.net.ConnectException: Connection timed out: connect
	at java.net.DualStackPlainSocketImpl.connect0(Native Method)
	at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
	at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
	at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
	at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
	at java.net.PlainSocketImpl.connect(Unknown Source)
	at java.net.SocksSocketImpl.connect(Unknown Source)
	at java.net.Socket.connect(Unknown Source)
	at java.net.Socket.connect(Unknown Source)
	at java.net.Socket.<init>(Unknown Source)
	at java.net.Socket.<init>(Unknown Source)
	at pivateFTP.TextConnection.openConnection(TextConnection.java:44)
	at pivateFTP.PrivateFileTransferr.main(PrivateFileTransferr.java:31)
ПС. Фаерволл виндовса выключен. Антивирус тоже.
^_^

Последний раз редактировалось WOLFak; 06.01.2013 в 16:16.
WOLFak вне форума Ответить с цитированием
Старый 06.01.2013, 16:24   #2
Carbon
JAVA BEAN
Участник клуба
 
Аватар для Carbon
 
Регистрация: 22.04.2007
Сообщений: 1,329
По умолчанию

Код покажи.
Carbon вне форума Ответить с цитированием
Старый 06.01.2013, 16:37   #3
WOLFak
Форумчанин
 
Аватар для WOLFak
 
Регистрация: 30.12.2007
Сообщений: 180
По умолчанию

Server
Код:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;


public class Main extends Thread {

	
	ServerSocket m_servSocket;
	Socket m_socket;
	
	@Override
	public void run() {
		
		try {
			m_servSocket = new ServerSocket(8726);
			
			do
			{
				m_socket = m_servSocket.accept();
				System.out.println(m_socket.toString());
				
			}while( m_socket == null);
			
			System.out.println("Connection!");
			
			
			
			BufferedReader br = new BufferedReader(new InputStreamReader( m_socket.getInputStream())   );
			
			
			System.out.println(br.readLine());
			
			
			
			m_servSocket.close();
			m_socket.close();
			
			
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

		

		super.run();
	} 

	public static void main(String[] args) {
		
		
		Main m = new Main();
		
		m.start();
		
	
		
	}

}
client на быструю руку.
Код:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;


public class Maino {

	/**
	 * @param args
	 * @throws IOException 
	 * @throws UnknownHostException 
	 */
	public static void main(String[] args) throws UnknownHostException, IOException {
		// TODO Auto-generated method stub
		String serverName="localhost";
		int port=8726;
		Socket activeConnection=null;
		BufferedReader cons=new BufferedReader(new InputStreamReader(System.in));
		activeConnection=new Socket(serverName,port);
		try(PrintWriter out=new PrintWriter(activeConnection.getOutputStream(),true)){
			out.println(cons.readLine());
		}catch (IOException e) {
			System.out.println("Connection problems: "+e.getMessage());
		}
		activeConnection.close();
		cons.close();
	}

}
не думаю что дело в коде, хотя кто знает.
^_^

Последний раз редактировалось WOLFak; 06.01.2013 в 16:42.
WOLFak вне форума Ответить с цитированием
Старый 06.01.2013, 16:54   #4
Carbon
JAVA BEAN
Участник клуба
 
Аватар для Carbon
 
Регистрация: 22.04.2007
Сообщений: 1,329
По умолчанию

На локалхосте же работало. Вы тестите на разных машинах. Вы под натом? Если да, то порт проброшен?
Carbon вне форума Ответить с цитированием
Старый 06.01.2013, 17:01   #5
WOLFak
Форумчанин
 
Аватар для WOLFak
 
Регистрация: 30.12.2007
Сообщений: 180
По умолчанию

Цитата:
Сразу говорю, что глубин не знаем.
все что я знаю о нате:
Цитата:
NAT (от англ. Network Address Translation — «преобразование сетевых адресов») — это механизм в сетях TCP/IP, позволяющий преобразовывать IP-адреса транзитных пакетов.
^_^
WOLFak вне форума Ответить с цитированием
Старый 06.01.2013, 17:29   #6
WOLFak
Форумчанин
 
Аватар для WOLFak
 
Регистрация: 30.12.2007
Сообщений: 180
По умолчанию

эх. то есть никто не знает как соединиться? ибо гугл ничего не дает. похожие случаи были на перепоненном стеке, но после прочтения я так и не нашел способа исправить ситуацию.
^_^
WOLFak вне форума Ответить с цитированием
Старый 07.01.2013, 00:46   #7
Carbon
JAVA BEAN
Участник клуба
 
Аватар для Carbon
 
Регистрация: 22.04.2007
Сообщений: 1,329
По умолчанию

Цитата:
Сообщение от WOLFak Посмотреть сообщение
эх. то есть никто не знает как соединиться? ибо гугл ничего не дает. похожие случаи были на перепоненном стеке, но после прочтения я так и не нашел способа исправить ситуацию.
Та блин! Я ж спросил:
1) есть ли у вас нат или нет?
2) если есть, проброшен ли порт, на который идёт обращение? если нет, то соединения сервер не получит.

Ну не знаешь - я ничем не могу помочь. Я что ли должен силой мысли просканить вашу сеть на его наличие?
Может у вас модем нат использует. У меня, например, использует.
Carbon вне форума Ответить с цитированием
Старый 07.01.2013, 21:21   #8
WOLFak
Форумчанин
 
Аватар для WOLFak
 
Регистрация: 30.12.2007
Сообщений: 180
По умолчанию

окей, как пробросить порт?
^_^
WOLFak вне форума Ответить с цитированием
Старый 07.01.2013, 21:37   #9
Carbon
JAVA BEAN
Участник клуба
 
Аватар для Carbon
 
Регистрация: 22.04.2007
Сообщений: 1,329
По умолчанию

В настройках модема, если модем его использует.
Carbon вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Восстановить подключение после socket error 10054 connection reset by peer ZBEP Работа с сетью в Delphi 3 11.06.2013 18:24
Ошибка Socket Error # 10061 Connection Refused !!! $T@LKER Работа с сетью в Delphi 0 06.09.2010 21:28
Java RMI connection timed out MaTBeu Общие вопросы по Java, Java SE, Kotlin 9 11.02.2010 06:12
Connection timed out при вызове IdSMTP1.Connect(10000); dimon000 Работа с сетью в Delphi 3 11.01.2008 22:49
Connection timed out - что это? илья too Работа с сетью в Delphi 4 25.08.2007 19:07