private void connect(String portName) throws Exception {
CommPortIdentifier portIdentifier = CommPortIdentifier.getPortIdentifier(portName);
if (portIdentifier.isCurrentlyOwned())
throw new PortInUseException();
CommPort commPort = portIdentifier.open(this.getClass().getName(), COMPORT_PORT);
if (commPort instanceof SerialPort) {
SerialPort serialPort = (SerialPort) commPort;
serialPort.setSerialPortParams(BAUD_RATE, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);
InputStream in = serialPort.getInputStream();
OutputStream out = serialPort.getOutputStream();
new Thread(new SerialReader(in)).start();
new Thread(new SerialWriter(out)).start();
} else {
throw new PortUnreachableException("ERROR - Only serial ports are handled by this class");
}
}
java类java.net.PortUnreachableException的实例源码
TwoWaySerialComm.java 文件源码
项目:GPSSimulator
阅读 16
收藏 0
点赞 0
评论 0
IoBridge.java 文件源码
项目:j2objc
阅读 21
收藏 0
点赞 0
评论 0
private static int maybeThrowAfterRecvfrom(boolean isRead, boolean isConnected, ErrnoException errnoException) throws SocketException, SocketTimeoutException {
if (isRead) {
if (errnoException.errno == EAGAIN) {
return 0;
} else {
throw errnoException.rethrowAsSocketException();
}
} else {
if (isConnected && errnoException.errno == ECONNREFUSED) {
throw new PortUnreachableException("", errnoException);
} else if (errnoException.errno == EAGAIN) {
throw new SocketTimeoutException(errnoException);
} else {
throw errnoException.rethrowAsSocketException();
}
}
}
SyslogAuditLogHandler.java 文件源码
项目:wildfly-core
阅读 16
收藏 0
点赞 0
评论 0
void throwAsIoOrRuntimeException(Throwable t) throws IOException {
if (t instanceof PortUnreachableException && transport == Transport.UDP) {
//This is an exception that may or may not happen, see the javadoc for DatagramSocket.send().
//We don't want something this unreliable polluting the failure count.
//With UDP syslogging set up against a non-existent syslog server:
//On OS X this exception never happens.
//On Linux this seems to happens every other send, so we end up with a loop
// odd send works; failure count = 0
// even send fails; failure count = 1
// odd send works; failure count reset to 0
//
//Also, we don't want the full stack trace for this which would get printed by StandardFailureCountHandler.StandardFailureCountHandler.failure(),
//which also handles the failure count, so we swallow the exception and print a warning.
ControllerLogger.MGMT_OP_LOGGER.udpSyslogServerUnavailable(getName(), t.getLocalizedMessage());
return;
}
if (t instanceof IOException) {
throw (IOException)t;
}
if (t instanceof RuntimeException) {
throw (RuntimeException)t;
}
throw new RuntimeException(t);
}
RConThreadQuery.java 文件源码
项目:RuneCraftery
阅读 19
收藏 0
点赞 0
评论 0
public void run() {
this.func_72609_b("Query running on " + this.field_72642_r + ":" + this.field_72636_h);
this.field_72629_g = MinecraftServer.func_130071_aq();
this.field_72631_o = new DatagramPacket(this.field_72630_n, this.field_72630_n.length);
try {
while(this.field_72619_a) {
try {
this.field_72633_m.receive(this.field_72631_o);
this.func_72628_f();
this.func_72621_a(this.field_72631_o);
} catch (SocketTimeoutException var7) {
this.func_72628_f();
} catch (PortUnreachableException var8) {
;
} catch (IOException var9) {
this.func_72623_a(var9);
}
}
} finally {
this.func_72611_e();
}
}
RemoteStatusListener.java 文件源码
项目:SpigotSource
阅读 14
收藏 0
点赞 0
评论 0
public void run() {
this.b("Query running on " + this.s + ":" + this.i);
this.h = MinecraftServer.av();
this.p = new DatagramPacket(this.o, this.o.length);
try {
while (this.a) {
try {
this.n.receive(this.p);
this.f();
this.a(this.p);
} catch (SocketTimeoutException sockettimeoutexception) {
this.f();
} catch (PortUnreachableException portunreachableexception) {
;
} catch (IOException ioexception) {
this.a((Exception) ioexception);
}
}
} finally {
this.e();
}
}
RConThreadQuery.java 文件源码
项目:DecompiledMinecraft
阅读 22
收藏 0
点赞 0
评论 0
public void run()
{
this.logInfo("Query running on " + this.serverHostname + ":" + this.queryPort);
this.lastAuthCheckTime = MinecraftServer.getCurrentTimeMillis();
this.incomingPacket = new DatagramPacket(this.buffer, this.buffer.length);
try
{
while (this.running)
{
try
{
this.querySocket.receive(this.incomingPacket);
this.cleanQueryClientsMap();
this.parseIncomingPacket(this.incomingPacket);
}
catch (SocketTimeoutException var7)
{
this.cleanQueryClientsMap();
}
catch (PortUnreachableException var8)
{
;
}
catch (IOException ioexception)
{
this.stopWithException(ioexception);
}
}
}
finally
{
this.closeAllSockets();
}
}
RConThreadQuery.java 文件源码
项目:CustomWorldGen
阅读 15
收藏 0
点赞 0
评论 0
public void run()
{
this.logInfo("Query running on " + this.serverHostname + ":" + this.queryPort);
this.lastAuthCheckTime = MinecraftServer.getCurrentTimeMillis();
this.incomingPacket = new DatagramPacket(this.buffer, this.buffer.length);
try
{
while (this.running)
{
try
{
this.querySocket.receive(this.incomingPacket);
this.cleanQueryClientsMap();
this.parseIncomingPacket(this.incomingPacket);
}
catch (SocketTimeoutException var7)
{
this.cleanQueryClientsMap();
}
catch (PortUnreachableException var8)
{
;
}
catch (IOException ioexception)
{
this.stopWithException(ioexception);
}
}
}
finally
{
this.closeAllSockets();
}
}
ExceptionHelper.java 文件源码
项目:rview
阅读 26
收藏 0
点赞 0
评论 0
public static boolean isServerUnavailableException(Throwable cause) {
return isHttpException(cause, 503) ||
(isException(cause, ConnectException.class)
|| isException(cause, NoRouteToHostException.class)
|| isException(cause, PortUnreachableException.class)
|| isException(cause, SocketTimeoutException.class));
}
TcpCollectorTest.java 文件源码
项目:monsoon
阅读 15
收藏 0
点赞 0
评论 0
@Test
public void connectPortUnreachable() throws Exception {
Mockito.doThrow(new PortUnreachableException()).when(mockSocket).connect(Mockito.any());
final TcpCollector.ConnectDatum result;
try (TcpCollector tcpCollector = new TcpCollector(dstAddress, GROUP)) {
result = tcpCollector.tryConnect(mockSocket);
}
assertThat(result.getResult(), equalTo(TcpCollector.ConnectResult.PORT_UNREACHABLE));
Mockito.verify(mockSocket, times(1)).connect(Mockito.eq(dstAddress));
Mockito.verifyNoMoreInteractions(mockSocket);
}
FailoverClientHandler.java 文件源码
项目:hadoop-EAR
阅读 18
收藏 0
点赞 0
评论 0
private boolean shouldHandleException(IOException ex) {
// enumerate handled exceptions
if (ex instanceof ConnectException ||
ex instanceof NoRouteToHostException ||
ex instanceof PortUnreachableException ||
ex instanceof EOFException ||
ex instanceof ConnectionClosedException) {
return true;
}
if (ex instanceof RemoteException
&& ((RemoteException) ex).unwrapRemoteException() instanceof SafeModeException) {
return true;
}
return false; // we rethrow all other exceptions (including remote exceptions
}
Client.java 文件源码
项目:hadoop-EAR
阅读 23
收藏 0
点赞 0
评论 0
/**
* Take an IOException and the address we were trying to connect to
* and return an IOException with the input exception as the cause.
* The new exception provides the stack trace of the place where
* the exception is thrown and some extra diagnostics information.
* If the exception is ConnectException or SocketTimeoutException,
* return a new one of the same type; Otherwise return an IOException.
*
* @param addr target address
* @param exception the relevant exception
* @return an exception to throw
*/
private IOException wrapException(InetSocketAddress addr,
IOException exception) {
if (exception instanceof ConnectException) {
//connection refused; include the host:port in the error
return (ConnectException)new ConnectException(
"Call to " + addr + " failed on connection exception: " + exception)
.initCause(exception);
} else if (exception instanceof SocketTimeoutException) {
return (SocketTimeoutException)new SocketTimeoutException(
"Call to " + addr + " failed on socket timeout exception: "
+ exception).initCause(exception);
} else if (exception instanceof NoRouteToHostException) {
return (NoRouteToHostException)new NoRouteToHostException(
"Call to " + addr + " failed on NoRouteToHostException exception: "
+ exception).initCause(exception);
} else if (exception instanceof PortUnreachableException) {
return (PortUnreachableException)new PortUnreachableException(
"Call to " + addr + " failed on PortUnreachableException exception: "
+ exception).initCause(exception);
} else if (exception instanceof EOFException) {
return (EOFException)new EOFException(
"Call to " + addr + " failed on EOFException exception: "
+ exception).initCause(exception);
} else {
return (IOException)new IOException(
"Call to " + addr + " failed on local exception: " + exception)
.initCause(exception);
}
}
RPC.java 文件源码
项目:hadoop-EAR
阅读 31
收藏 0
点赞 0
评论 0
public Object invoke(Object proxy, Method method, Object[] args)
throws Throwable {
final boolean logDebug = !fastProtocol && LOG.isDebugEnabled();
long startTime = 0;
if (logDebug) {
startTime = System.currentTimeMillis();
}
ObjectWritable value = null;
try {
String name = null;
if (fastProtocol) {
// try to obtain registered name for the method
name = FastProtocolRegister.tryGetId(method);
}
value = (ObjectWritable) client.call(new Invocation(method, name, args),
getAddress(), protocol, ticket, rpcTimeout, fastProtocol);
} catch (RemoteException re) {
throw re;
} catch (ConnectException ce) {
needCheckDnsUpdate = true;
throw ce;
} catch (NoRouteToHostException nrhe) {
needCheckDnsUpdate = true;
throw nrhe;
} catch (PortUnreachableException pue) {
needCheckDnsUpdate = true;
throw pue;
} catch (UnknownHostException uhe) {
needCheckDnsUpdate = true;
throw uhe;
}
if (logDebug) {
long callTime = System.currentTimeMillis() - startTime;
LOG.debug("Call: " + method.getName() + " " + callTime);
}
return value.get();
}
NetworkUtils.java 文件源码
项目:openhab2-addons
阅读 31
收藏 0
点赞 0
评论 0
/**
* iOS devices are in a deep sleep mode, where they only listen to UDP traffic on port 5353 (Bonjour service
* discovery). A packet on port 5353 will wake up the network stack to respond to ARP pings at least.
*
* @throws IOException
*/
public void wakeUpIOS(InetAddress address) throws IOException {
try (DatagramSocket s = new DatagramSocket()) {
byte[] buffer = new byte[0];
s.send(new DatagramPacket(buffer, buffer.length, address, 5353));
} catch (PortUnreachableException ignored) {
// We ignore the port unreachable error
}
}
SendChannelEndpoint.java 文件源码
项目:aeron
阅读 14
收藏 0
点赞 0
评论 0
/**
* Send contents of a {@link ByteBuffer} to connected address.
* This is used on the sender side for performance over send(ByteBuffer, SocketAddress).
*
* @param buffer to send
* @return number of bytes sent
*/
public int send(final ByteBuffer buffer)
{
int bytesSent = 0;
if (null != sendDatagramChannel)
{
final int bytesToSend = buffer.remaining();
if (null == multiDestination)
{
try
{
presend(buffer, connectAddress);
bytesSent = sendDatagramChannel.write(buffer);
}
catch (final PortUnreachableException | ClosedChannelException | NotYetConnectedException ignore)
{
}
catch (final IOException ex)
{
throw new RuntimeException("Failed to send packet of length: " + bytesToSend, ex);
}
}
else
{
bytesSent = multiDestination.send(sendDatagramChannel, buffer, this, bytesToSend);
}
}
return bytesSent;
}
MultiDestination.java 文件源码
项目:aeron
阅读 14
收藏 0
点赞 0
评论 0
int send(
final DatagramChannel datagramChannel,
final ByteBuffer buffer,
final SendChannelEndpoint channelEndpoint,
final int bytesToSend)
{
final int position = buffer.position();
int minBytesSent = bytesToSend;
for (final InetSocketAddress destination : destinations)
{
int bytesSent = 0;
try
{
channelEndpoint.presend(buffer, destination);
buffer.position(position);
bytesSent = datagramChannel.send(buffer, destination);
}
catch (final PortUnreachableException | ClosedChannelException ignore)
{
}
catch (final IOException ex)
{
throw new RuntimeException("Failed to send: " + bytesToSend, ex);
}
minBytesSent = Math.min(minBytesSent, bytesSent);
}
return minBytesSent;
}
RConThreadQuery.java 文件源码
项目:Cauldron
阅读 19
收藏 0
点赞 0
评论 0
public void run()
{
this.logInfo("Query running on " + this.serverHostname + ":" + this.queryPort);
this.lastAuthCheckTime = MinecraftServer.getSystemTimeMillis();
this.incomingPacket = new DatagramPacket(this.buffer, this.buffer.length);
try
{
while (this.running)
{
try
{
this.querySocket.receive(this.incomingPacket);
this.cleanQueryClientsMap();
this.parseIncomingPacket(this.incomingPacket);
}
catch (SocketTimeoutException sockettimeoutexception)
{
this.cleanQueryClientsMap();
}
catch (PortUnreachableException portunreachableexception)
{
;
}
catch (IOException ioexception)
{
this.stopWithException(ioexception);
}
}
}
finally
{
this.closeAllSockets();
}
}
RConThreadQuery.java 文件源码
项目:Cauldron
阅读 20
收藏 0
点赞 0
评论 0
public void run()
{
this.logInfo("Query running on " + this.serverHostname + ":" + this.queryPort);
this.lastAuthCheckTime = MinecraftServer.getSystemTimeMillis();
this.incomingPacket = new DatagramPacket(this.buffer, this.buffer.length);
try
{
while (this.running)
{
try
{
this.querySocket.receive(this.incomingPacket);
this.cleanQueryClientsMap();
this.parseIncomingPacket(this.incomingPacket);
}
catch (SocketTimeoutException sockettimeoutexception)
{
this.cleanQueryClientsMap();
}
catch (PortUnreachableException portunreachableexception)
{
;
}
catch (IOException ioexception)
{
this.stopWithException(ioexception);
}
}
}
finally
{
this.closeAllSockets();
}
}
RConThreadQuery.java 文件源码
项目:RuneCraftery
阅读 23
收藏 0
点赞 0
评论 0
public void run()
{
this.logInfo("Query running on " + this.serverHostname + ":" + this.queryPort);
this.lastAuthCheckTime = MinecraftServer.getSystemTimeMillis();
this.incomingPacket = new DatagramPacket(this.buffer, this.buffer.length);
try
{
while (this.running)
{
try
{
this.querySocket.receive(this.incomingPacket);
this.cleanQueryClientsMap();
this.parseIncomingPacket(this.incomingPacket);
}
catch (SocketTimeoutException sockettimeoutexception)
{
this.cleanQueryClientsMap();
}
catch (PortUnreachableException portunreachableexception)
{
;
}
catch (IOException ioexception)
{
this.stopWithException(ioexception);
}
}
}
finally
{
this.closeAllSockets();
}
}
Client.java 文件源码
项目:RDFS
阅读 30
收藏 0
点赞 0
评论 0
/**
* Take an IOException and the address we were trying to connect to
* and return an IOException with the input exception as the cause.
* The new exception provides the stack trace of the place where
* the exception is thrown and some extra diagnostics information.
* If the exception is ConnectException or SocketTimeoutException,
* return a new one of the same type; Otherwise return an IOException.
*
* @param addr target address
* @param exception the relevant exception
* @return an exception to throw
*/
private IOException wrapException(InetSocketAddress addr,
IOException exception) {
if (exception instanceof ConnectException) {
//connection refused; include the host:port in the error
return (ConnectException)new ConnectException(
"Call to " + addr + " failed on connection exception: " + exception)
.initCause(exception);
} else if (exception instanceof SocketTimeoutException) {
return (SocketTimeoutException)new SocketTimeoutException(
"Call to " + addr + " failed on socket timeout exception: "
+ exception).initCause(exception);
} else if (exception instanceof NoRouteToHostException) {
return (NoRouteToHostException)new NoRouteToHostException(
"Call to " + addr + " failed on NoRouteToHostException exception: "
+ exception).initCause(exception);
} else if (exception instanceof PortUnreachableException) {
return (PortUnreachableException)new PortUnreachableException(
"Call to " + addr + " failed on PortUnreachableException exception: "
+ exception).initCause(exception);
} else {
return (IOException)new IOException(
"Call to " + addr + " failed on local exception: " + exception)
.initCause(exception);
}
}
RPC.java 文件源码
项目:RDFS
阅读 27
收藏 0
点赞 0
评论 0
public Object invoke(Object proxy, Method method, Object[] args)
throws Throwable {
final boolean logDebug = LOG.isDebugEnabled();
long startTime = 0;
if (logDebug) {
startTime = System.currentTimeMillis();
}
ObjectWritable value = null;
try {
value = (ObjectWritable) client.call(new Invocation(method, args),
getAddress(), protocol, ticket, rpcTimeout);
} catch (RemoteException re) {
throw re;
} catch (ConnectException ce) {
needCheckDnsUpdate = true;
throw ce;
} catch (NoRouteToHostException nrhe) {
needCheckDnsUpdate = true;
throw nrhe;
} catch (PortUnreachableException pue) {
needCheckDnsUpdate = true;
throw pue;
}
if (logDebug) {
long callTime = System.currentTimeMillis() - startTime;
LOG.debug("Call: " + method.getName() + " " + callTime);
}
return value.get();
}
RConThreadQuery.java 文件源码
项目:Hakkit
阅读 20
收藏 0
点赞 0
评论 0
public void run()
{
this.logInfo("Query running on " + this.serverHostname + ":" + this.queryPort);
this.lastAuthCheckTime = MinecraftServer.func_130071_aq();
this.incomingPacket = new DatagramPacket(this.buffer, this.buffer.length);
try
{
while (this.running)
{
try
{
this.querySocket.receive(this.incomingPacket);
this.cleanQueryClientsMap();
this.parseIncomingPacket(this.incomingPacket);
}
catch (SocketTimeoutException var7)
{
this.cleanQueryClientsMap();
}
catch (PortUnreachableException var8)
{
;
}
catch (IOException var9)
{
this.stopWithException(var9);
}
}
}
finally
{
this.closeAllSockets();
}
}
CCNNetworkChannel.java 文件源码
项目:alien-ofelia-conet-ccnx
阅读 16
收藏 0
点赞 0
评论 0
/**
* Write to ccnd using methods based on the protocol type
* @param src - ByteBuffer to write
* @return - number of bytes written
* @throws IOException
*/
public int write(ByteBuffer src) throws IOException {
if (! isConnected())
return -1; // XXX - is this documented?
if (Log.isLoggable(Log.FAC_NETMANAGER, Level.FINEST))
Log.finest(Log.FAC_NETMANAGER,
"NetworkChannel {0}: write() on port {1}", _channelId, _ncLocalPort);
try {
if (_ncDGrmChannel != null) {
return (_ncDGrmChannel.write(src));
} else {
// XXX -this depends on synchronization in caller, which is less than ideal.
// Need to handle partial writes
int written = 0;
while (src.hasRemaining()) {
if (! isConnected())
return -1;
int b = _ncSockChannel.write(src);
if (b > 0) {
written += b;
} else {
_ncWriteSelector.selectedKeys().clear();
_ncWriteSelector.select();
}
}
return written;
}
} catch (PortUnreachableException pue) {}
catch (ClosedChannelException cce) {}
Log.info(Log.FAC_NETMANAGER, "NetworkChannel {0}: closing due to error on write", _channelId);
close(true);
return -1;
}
RConThreadQuery.java 文件源码
项目:BetterNutritionMod
阅读 19
收藏 0
点赞 0
评论 0
public void run()
{
this.logInfo("Query running on " + this.serverHostname + ":" + this.queryPort);
this.lastAuthCheckTime = MinecraftServer.getSystemTimeMillis();
this.incomingPacket = new DatagramPacket(this.buffer, this.buffer.length);
try
{
while (this.running)
{
try
{
this.querySocket.receive(this.incomingPacket);
this.cleanQueryClientsMap();
this.parseIncomingPacket(this.incomingPacket);
}
catch (SocketTimeoutException sockettimeoutexception)
{
this.cleanQueryClientsMap();
}
catch (PortUnreachableException portunreachableexception)
{
;
}
catch (IOException ioexception)
{
this.stopWithException(ioexception);
}
}
}
finally
{
this.closeAllSockets();
}
}
ExceptionHelper.java 文件源码
项目:rview
阅读 21
收藏 0
点赞 0
评论 0
public static boolean hasServerConnectivity(Throwable cause) {
return !(isException(cause, ConnectException.class)
|| isException(cause, NoRouteToHostException.class)
|| isException(cause, PortUnreachableException.class)
|| isException(cause, SocketTimeoutException.class));
}
HubRestClient.java 文件源码
项目:base
阅读 17
收藏 0
点赞 0
评论 0
private <T> RestResult<T> execute( String httpMethod, String url, Object body, Class<T> clazz, boolean encrypt )
{
log.info( "{} {}", httpMethod, url );
WebClient webClient = null;
Response response = null;
RestResult<T> restResult = new RestResult<>( HttpStatus.SC_INTERNAL_SERVER_ERROR );
try
{
webClient = configManager.getTrustedWebClientWithAuth( url, configManager.getHubIp() );
Object requestBody = encrypt ? encryptBody( body ) : body;
response = webClient.invoke( httpMethod, requestBody );
// retry on 503 http code >>>
int attemptNo = 1;
while ( response.getStatus() == HttpStatus.SC_SERVICE_UNAVAILABLE && attemptNo < MAX_ATTEMPTS )
{
attemptNo++;
response = webClient.invoke( httpMethod, requestBody );
TaskUtil.sleep( 500 );
}
// <<< retry on 503 http code
log.info( "response.status: {} - {}", response.getStatus(), response.getStatusInfo().getReasonPhrase() );
restResult = handleResponse( response, clazz, encrypt );
}
catch ( Exception e )
{
if ( response != null )
{
restResult.setReasonPhrase( response.getStatusInfo().getReasonPhrase() );
}
Throwable rootCause = ExceptionUtil.getRootCauze( e );
if ( rootCause instanceof ConnectException || rootCause instanceof UnknownHostException
|| rootCause instanceof BindException || rootCause instanceof NoRouteToHostException
|| rootCause instanceof PortUnreachableException || rootCause instanceof SocketTimeoutException )
{
restResult.setError( CONNECTION_EXCEPTION_MARKER );
}
else
{
restResult.setError( ERROR + e.getMessage() );
}
log.error( ERROR + e.getMessage() );
}
finally
{
close( webClient, response );
}
return restResult;
}
NIOUtil.java 文件源码
项目:jlibs
阅读 20
收藏 0
点赞 0
评论 0
public static boolean isConnectionFailure(Throwable thr){
return thr instanceof UnresolvedAddressException
|| thr instanceof ConnectException
|| thr instanceof PortUnreachableException;
}
MultiDestination.java 文件源码
项目:aeron
阅读 17
收藏 0
点赞 0
评论 0
int send(
final DatagramChannel datagramChannel,
final ByteBuffer buffer,
final SendChannelEndpoint channelEndpoint,
final int bytesToSend)
{
final long nowNs = nanoClock.nanoTime();
final ArrayList<Destination> destinations = this.destinations;
final int position = buffer.position();
int minBytesSent = bytesToSend;
for (int lastIndex = destinations.size() - 1, i = lastIndex; i >= 0; i--)
{
final Destination destination = destinations.get(i);
if (nowNs > (destination.timeOfLastActivityNs + destinationTimeoutNs))
{
ArrayListUtil.fastUnorderedRemove(destinations, i, lastIndex);
lastIndex--;
}
else
{
int bytesSent = 0;
try
{
channelEndpoint.presend(buffer, destination.address);
buffer.position(position);
bytesSent = datagramChannel.send(buffer, destination.address);
}
catch (final PortUnreachableException | ClosedChannelException ignore)
{
}
catch (final IOException ex)
{
throw new RuntimeException("Failed to send packet of length: " + bytesToSend, ex);
}
minBytesSent = Math.min(minBytesSent, bytesSent);
}
}
return minBytesSent;
}