Как Вы обрабатываете Сокет, Разъединяющийся в Java?

Полагаю, это ваше UserModel.js. Теперь вы можете импортировать модель как другие компоненты:

import UserModel from './location/UserModel';

Но если вы сделаете это так, вам придется создавать экземпляр UserModel каждый раз, когда вы импортируете его. [1112 ]

Если вы хотите предотвратить это, просто создайте экземпляр UserModel, экспортируйте его в UserModel.js и импортируйте экземпляр в любое место.

Вот так:

class UserModel {
    //...
}

export default new UserModel();

другим способом может быть:

export class UserModel {
    //...
}

const GlobalUserModel = new UserModel(); 
export default GlobalUserModel;

, чтобы выбрать в других файлах, что импортировать:

import { UserModel } from './location/UserModel'; //get new instance

или [1117 ]

import GlobalUserModel from './location/UserModel'; //get global instance

Если вы импортируете через { UserModel }, вы должны сначала создать экземпляр: new UserModel()

... или наоборот.

Редактировать:

После некоторого обсуждения, это был обязательный ответ:

this.props.navigation.navigate('UserList', { userModel: userModel });

this.props.getParam('userModel', /* optional default value */);
13
задан Alex 27 January 2009 в 23:38
поделиться

2 ответа

По-видимому, Вы читаете из сокета, возможно, с помощью обертки по входному потоку, такому как BufferedReader. В этом случае можно обнаружить конец потока, когда соответствующая операция чтения возвращается-1 (для необработанного чтения () вызовы), или пустой указатель (для readLine () вызовы).

Определенные операции вызовут SocketException при выполнении на закрытом сокете, с которым необходимо будет также иметь дело соответственно.

12
ответ дан 2 December 2019 в 00:19
поделиться

Единственный безопасный способ обнаружить другой конец пошел, должен периодически отправлять heartbeat и иметь другой конец тайм-ауту на основе отсутствия heartbeat.

4
ответ дан 2 December 2019 в 00:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: