Java 类java.net.ServerSocket 实例源码
项目:heapunit
文件:DumpSocketsExample.java
@Test
public void printSockets() throws IOException {
ServerSocket ss = new ServerSocket();
ss.bind(sock(5000));
Socket s1 = new Socket();
Socket s2 = new Socket();
s1.connect(sock(5000));
s2.connect(sock(5000));
ss.close();
s1.close();
// s2 remains unclosed
HeapImage hi = HeapUnit.captureHeap();
for(HeapInstance i: hi.instances(SocketImpl.class)) {
// fd field in SocketImpl class is nullified when socket gets closed
boolean open = i.value("fd") != null;
System.out.println(i.rehydrate() + (open ? " - open" : " - closed"));
}
}
项目:PNet
文件:TLSServer.java
/**
* Creates a new Server using TLS
*/
public TLSServer(final byte[] keyStore, final char[] keyStorePassword, final String keyStoreType) throws IOException
{
super(new ServerImpl(
new ServerSocketFactory()
{
@Override
public ServerSocket getServerSocket(final int port) throws Exception
{
return new TLSBuilder()
.withPort(port)
.withKeyStore(keyStoreType, new ByteArrayInputStream(keyStore), keyStorePassword)
.buildServerSocket();
}
},
new ClientFactory()
{
@Override
public Client getClient()
{
return new TLSClient();
}
}
));
}
项目:monarch
文件:SocketUtilsJUnitTest.java
@Test
public void testCloseServerSocketThrowsIOException() throws IOException {
final ServerSocket mockServerSocket =
mockContext.mock(ServerSocket.class, "closeServerSocketThrowsIOExceptionTest");
mockContext.checking(new Expectations() {
{
oneOf(mockServerSocket).close();
will(throwException(new IOException("test")));
}
});
try {
assertFalse(SocketUtils.close(mockServerSocket));
} catch (Throwable t) {
fail("Calling close on a ServerSocket using SocketUtils threw an unexpected Throwable (" + t
+ ")!");
}
}
项目:JAddOn
文件:Server.java
/**
* Starts the server
* @return Server This Server
*/
public final Server start() {
try {
boolean port_valid = checkPortAvailable(port);
if(port_valid) {
stopThread(thread_receive);
serversocket = new ServerSocket(port);
instant_started = Instant.now();
started = true;
registerServerPort(port);
StaticStandard.log("[SERVER] Started server on port: " + port);
resetThreadReceive();
startThread(thread_receive);
timer.start();
} else {
instant_started = null;
StaticStandard.logErr("[SERVER] Failed starting server on port: " + port + ", port already binded");
}
} catch (Exception ex) {
instant_started = null;
StaticStandard.logErr("[SERVER] Error while starting server: " + ex, ex);
}
return this;
}
项目:introduction-to-vert.x
文件:MyFirstVerticleTest.java
@Before
public void setUp(TestContext context) throws IOException {
vertx = Vertx.vertx();
// Pick an available and random
ServerSocket socket = new ServerSocket(0);
port = socket.getLocalPort();
socket.close();
DeploymentOptions options = new DeploymentOptions()
.setConfig(new JsonObject()
.put("HTTP_PORT", port)
.put("url", "jdbc:hsqldb:mem:test?shutdown=true")
.put("driver_class", "org.hsqldb.jdbcDriver")
);
vertx.deployVerticle(MyFirstVerticle.class.getName(), options, context.asyncAssertSuccess());
}
项目:nn_nex_logging_and_research
文件:TCPServer.java
public static void main(String argv[]) throws Exception {
AutoRunFromConsole.runYourselfInConsole(true);
String clientSentence;
ServerSocket welcomeSocket = new ServerSocket(4405);
System.out.println("Logger started!");
PrintWriter outPrinter = new PrintWriter("tcp_log.txt");
while (true) {
Socket connectionSocket = welcomeSocket.accept();
BufferedReader inFromClient = new BufferedReader(new InputStreamReader(connectionSocket.getInputStream()));
while (true) {
try {
clientSentence = inFromClient.readLine();
if (clientSentence == null) break;
System.out.println(clientSentence);
outPrinter.println(clientSentence);
outPrinter.flush();
} catch (Exception e) {
break;
}
}
System.out.println("Connection closed.");
}
}
项目:monarch
文件:MX4JServerSocketFactory.java
public ServerSocket createServerSocket(int port) throws IOException {
ServerSocket sock = null;
if ("".equals(bindAddress)) {
sock = socketCreator.createServerSocket(port, this.backlog);
} else {
sock = socketCreator.createServerSocket(port, this.backlog,
InetAddressUtil.toInetAddress(this.bindAddress));
}
if (logger.isDebugEnabled()) {
logger.debug(
"MX4JServerSocketFactory RMIServerSocketFactory, INetAddress {}, LocalPort {}, LocalSocketAddress {}",
sock.getInetAddress(), sock.getLocalPort(), sock.getLocalSocketAddress());
}
return sock;
}
项目:JavaLibraries
文件:ServerRunner.java
@Override
public void run() {
try {
server.setServerSocket(new ServerSocket(server.getPort()));
if (server.getTimeout() > 0) {
server.getServerSocket().setSoTimeout(server.getTimeout());
}
server.setServerRunning(true);
server.onServerStarted();
while (server.isServerRunning()) {
Socket socket = server.getServerSocket().accept();
ListenToClient client = new ListenToClient(this, socket);
client.setClientId(server.getNextUniqeID());
server.getClients().add(client);
client.startListener();
}
} catch (Exception e) {
e.printStackTrace();
}
stopServer();
server.onServerStopped();
}
项目:PleaseWakeUp
文件:SimpleHttpServer.java
public void startHttpServer() {
if (isServerAlive()) {
return;
}
for (int port : new int[]{61593, 41123, 43387, 39083, 24423, 16834, 9289, 8452, 6217, 5300, 4118, 3787, 2998, 0}) {
try {
ServerSocket localServer = new ServerSocket(port);
int localPort = localServer.getLocalPort();
if (localPort <= 0) {
continue;
}
mMainThread = new MainThread(localServer);
mMainThread.start();
break;
} catch (IOException e) {
e.printStackTrace();
}
}
}
项目:pooled-jms
文件:SocketProxy.java
public Acceptor(ServerSocket serverSocket, URI uri) {
socket = serverSocket;
target = uri;
pause.set(new CountDownLatch(0));
try {
socket.setSoTimeout(ACCEPT_TIMEOUT_MILLIS);
} catch (SocketException e) {
e.printStackTrace();
}
}
项目:apache-tomcat-7.0.73-with-comment
文件:NioReceiver.java
protected void bind() throws IOException {
// allocate an unbound server socket channel
serverChannel = ServerSocketChannel.open();
// Get the associated ServerSocket to bind it with
ServerSocket serverSocket = serverChannel.socket();
// create a new Selector for use below
synchronized (Selector.class) {
// Selector.open() isn't thread safe
// http://bugs.sun.com/view_bug.do?bug_id=6427854
// Affects 1.6.0_29, fixed in 1.7.0_01
this.selector.set(Selector.open());
}
// set the port the server channel will listen to
//serverSocket.bind(new InetSocketAddress(getBind(), getTcpListenPort()));
bind(serverSocket,getPort(),getAutoBind());
// set non-blocking mode for the listening socket
serverChannel.configureBlocking(false);
// register the ServerSocketChannel with the Selector
serverChannel.register(this.selector.get(), SelectionKey.OP_ACCEPT);
//set up the datagram channel
if (this.getUdpPort()>0) {
datagramChannel = DatagramChannel.open();
configureDatagraChannel();
//bind to the address to avoid security checks
bindUdp(datagramChannel.socket(),getUdpPort(),getAutoBind());
}
}
项目:q-mail
文件:MockImapServer.java
public MockServerThread(ServerSocket serverSocket, Deque<ImapInteraction> interactions,
CountDownLatch waitForConnectionClosed, CountDownLatch waitForAllExpectedCommands, Logger logger,
KeyStoreProvider keyStoreProvider) {
super("MockImapServer");
this.serverSocket = serverSocket;
this.interactions = interactions;
this.waitForConnectionClosed = waitForConnectionClosed;
this.waitForAllExpectedCommands = waitForAllExpectedCommands;
this.logger = logger;
this.keyStoreProvider = keyStoreProvider;
}
项目:CustomWorldGen
文件:RConThreadBase.java
/**
* Closes all of the opened sockets
*/
protected void closeAllSockets_do(boolean logWarning)
{
int i = 0;
for (DatagramSocket datagramsocket : this.socketList)
{
if (this.closeSocket(datagramsocket, false))
{
++i;
}
}
this.socketList.clear();
for (ServerSocket serversocket : this.serverSocketList)
{
if (this.closeServerSocket_do(serversocket, false))
{
++i;
}
}
this.serverSocketList.clear();
if (logWarning && 0 < i)
{
this.logWarning("Force closed " + i + " sockets");
}
}
项目:openjdk-jdk10
文件:Streams.java
public static void main(String[] args) throws Exception {
try (ServerSocket ss = new ServerSocket(0)) {
runTest(OutputStreamGetter.class, ss);
runTest(InputStreamGetter.class, ss);
}
if (failed)
throw new RuntimeException("Failed, check output");
}
项目:CGL
文件:ServerThread.java
public ServerThread(int port, ServerListener s){
try {
this.listener = s;
server = new ServerSocket(port);
this.port = port;
this.start();
} catch (IOException e) {
if(e instanceof BindException){
StatusPrinter.print("ERROR", "Server already running? [port:"+port+"]", ServerThread.class);
if(listener!=null){listener.onBindException();}
}else{
e.printStackTrace();
}
}
}
项目:can4eve
文件:Can4eve.java
/**
* start forwarding
* @param pDevice
* @param pPortNumber
* @param pBaudRate
* @throws Exception if something goes wrong
*/
public void forward(String pDevice, int pPortNumber, int pBaudRate) throws Exception {
prepare(pDevice,pBaudRate);
ConnectionForwarder forwarder=new ConnectionForwarder();
// elm.initOBD2();
// elm.initOBD2();
forwarder.setLog(con.getLog());
forwarder.createServerSocket(pPortNumber);
forwarder.startServer(con);
ServerSocket serverSocket = forwarder.getServerSocket();
Socket clientSocket=new Socket("localhost",serverSocket.getLocalPort());
forwarder.getServerThread().join();
}
项目:ditb
文件:SslSocketConnectorSecure.java
/**
* Create a new ServerSocket that will not accept SSLv3 connections,
* but will accept TLSv1.x connections.
*/
protected ServerSocket newServerSocket(String host, int port,int backlog)
throws IOException {
SSLServerSocket socket = (SSLServerSocket)
super.newServerSocket(host, port, backlog);
ArrayList<String> nonSSLProtocols = new ArrayList<String>();
for (String p : socket.getEnabledProtocols()) {
if (!p.contains("SSLv3")) {
nonSSLProtocols.add(p);
}
}
socket.setEnabledProtocols(nonSSLProtocols.toArray(
new String[nonSSLProtocols.size()]));
return socket;
}
项目:react-native-sockets
文件:SocketServer.java
@Override
public void run() {
try {
serverSocket = new ServerSocket(socketServerPORT);
isOpen = true;
WritableMap eventParams = Arguments.createMap();
sendEvent(mReactContext, event_connect, eventParams);
while (isOpen) {
Socket socket = serverSocket.accept();
count++;
mClients.put(socket.getPort(), socket);
eventParams = Arguments.createMap();
eventParams.putInt("id", socket.getPort());
sendEvent(mReactContext, event_clientConnect, eventParams);
Log.d(eTag, "#" + count + " from " + socket.getInetAddress() + ":" + socket.getPort());
Thread socketServerReplyThread = new Thread(new SocketServerReplyThread(socket));
socketServerReplyThread.start();
}
} catch (IOException e) {
handleIOException(e);
}
}
项目:hadoop
文件:TestWebHdfsContentLength.java
@BeforeClass
public static void setup() throws IOException {
listenSocket = new ServerSocket();
listenSocket.bind(null);
bindAddr = NetUtils.getHostPortString(
(InetSocketAddress)listenSocket.getLocalSocketAddress());
redirectResponse =
"HTTP/1.1 307 Redirect\r\n" +
"Location: http://"+bindAddr+"/path\r\n" +
"Connection: close\r\n\r\n";
p = new Path("webhdfs://"+bindAddr+"/path");
fs = p.getFileSystem(new Configuration());
executor = Executors.newSingleThreadExecutor();
}
项目:nifi-registry
文件:NiFiRegistryListener.java
int start(final RunNiFiRegistry runner) throws IOException {
serverSocket = new ServerSocket();
serverSocket.bind(new InetSocketAddress("localhost", 0));
final int localPort = serverSocket.getLocalPort();
listener = new Listener(serverSocket, runner);
final Thread listenThread = new Thread(listener);
listenThread.setName("Listen to NiFi Registry");
listenThread.setDaemon(true);
listenThread.start();
return localPort;
}
项目:fdt
文件:FDT.java
private void waitForTask() throws Exception {
if (!DirectByteBufferPool.initInstance(config.getByteBufferSize(), Config.getMaxTakePollIter())) {
// this is really wrong ... It cannot be already initialized
throw new FDTProcolException("The buffer pool cannot be already initialized");
}
ExecutorService executor = null;
ServerSocketChannel ssc = null;
ServerSocket ss = null;
Selector sel = null;
try {
executor = Utils.getStandardExecService("[ Acceptable ServersThreadPool ] ",
2,
10,
new ArrayBlockingQueue<Runnable>(65500),
Thread.NORM_PRIORITY - 2);
ssc = ServerSocketChannel.open();
ssc.configureBlocking(false);
ss = ssc.socket();
ss.bind(new InetSocketAddress(config.getPort()));
sel = Selector.open();
ssc.register(sel, SelectionKey.OP_ACCEPT);
System.out.println("READY");
Utils.waitAndWork(executor, ss, sel, config);
} finally {
logger.log(Level.INFO, "[FDT] [ waitForTask ] main loop FINISHED!");
// close all the stuff
Utils.closeIgnoringExceptions(ssc);
Utils.closeIgnoringExceptions(sel);
Utils.closeIgnoringExceptions(ss);
if (executor != null) {
executor.shutdown();
}
}
}
项目:openjdk-jdk10
文件:Race.java
public static void main(String[] args) throws Exception {
try (ServerSocket ss = new ServerSocket(0)) {
final int port = ss.getLocalPort();
final Phaser phaser = new Phaser(THREADS + 1);
for (int i=0; i<100; i++) {
final Socket s = new Socket("localhost", port);
s.setSoLinger(false, 0);
try (Socket sa = ss.accept()) {
sa.setSoLinger(false, 0);
final InputStream is = s.getInputStream();
Thread[] threads = new Thread[THREADS];
for (int j=0; j<THREADS; j++) {
threads[j] = new Thread() {
public void run() {
try {
phaser.arriveAndAwaitAdvance();
while (is.read() != -1)
Thread.sleep(50);
} catch (Exception x) {
if (!(x instanceof SocketException
&& x.getMessage().equalsIgnoreCase("socket closed")))
x.printStackTrace();
// ok, expect Socket closed
}
}};
}
for (int j=0; j<100; j++)
threads[j].start();
phaser.arriveAndAwaitAdvance();
s.close();
for (int j=0; j<100; j++)
threads[j].join();
}
}
}
}
项目:L2jBrasil
文件:SelectorThread.java
public final void openServerSocket(InetAddress address, int tcpPort) throws IOException
{
ServerSocketChannel selectable = ServerSocketChannel.open();
selectable.configureBlocking(false);
ServerSocket ss = selectable.socket();
if (address == null)
ss.bind(new InetSocketAddress(tcpPort));
else
ss.bind(new InetSocketAddress(address, tcpPort));
selectable.register(_selector, SelectionKey.OP_ACCEPT);
}
项目:neoscada
文件:NioSocketAcceptor.java
/**
* {@inheritDoc}
*/
@Override
protected ServerSocketChannel open(SocketAddress localAddress) throws Exception {
// Creates the listening ServerSocket
ServerSocketChannel channel = ServerSocketChannel.open();
boolean success = false;
try {
// This is a non blocking socket channel
channel.configureBlocking(false);
// Configure the server socket,
ServerSocket socket = channel.socket();
// Set the reuseAddress flag accordingly with the setting
socket.setReuseAddress(isReuseAddress());
// and bind.
socket.bind(localAddress, getBacklog());
// Register the channel within the selector for ACCEPT event
channel.register(selector, SelectionKey.OP_ACCEPT);
success = true;
} finally {
if (!success) {
close(channel);
}
}
return channel;
}
项目:hadoop-oss
文件:NetUtils.java
/**
* Return a free port number. There is no guarantee it will remain free, so
* it should be used immediately.
*
* @returns A free port for binding a local socket
*/
public static int getFreeSocketPort() {
int port = 0;
try {
ServerSocket s = new ServerSocket(0);
port = s.getLocalPort();
s.close();
return port;
} catch (IOException e) {
// Could not get a free port. Return default port 0.
}
return port;
}
项目:jdk8u-jdk
文件:IsAvailable.java
public static void main(String[] args) throws Exception {
int readTimeout = 20;
ServerSocket ss = new ServerSocket(0);
URL url1 = new URL("http://localhost:" + ss.getLocalPort());
HttpClient c1 = HttpClient.New(url1);
Method available = HttpClient.class.
getDeclaredMethod("available", null);
available.setAccessible(true);
c1.setReadTimeout(readTimeout);
boolean a = (boolean) available.invoke(c1);
if (!a) {
throw new RuntimeException("connection should be available");
}
if (c1.getReadTimeout() != readTimeout) {
throw new RuntimeException("read timeout has been altered");
}
c1.closeServer();
a = (boolean) available.invoke(c1);
if (a) {
throw new RuntimeException("connection shouldn't be available");
}
ss.close();
}
项目:OpenJSharp
文件:SSLServerSocketFactoryImpl.java
@Override
public ServerSocket
createServerSocket (int port, int backlog, InetAddress ifAddress)
throws IOException
{
return new SSLServerSocketImpl (port, backlog, ifAddress, context);
}
项目:greycat
文件:DeleteTest.java
private int findFreePort() {
int port = 8050;
try {
ServerSocket servSock = new ServerSocket(0);
port = servSock.getLocalPort();
servSock.close();
} catch (IOException e) {
e.printStackTrace();
}
return port;
}
项目:Byter
文件:NetworkManager.java
/**
* Creates a ServerSocket if there isn't any service running.
* @return opened ServerSocket
* @throws IOException IO Exception if something weird is happening
*/
private ServerSocket startServerSocket(final int port) throws IOException {
if(!this.serverSocketStarted){
log.log(Level.WARNING, "Trying to start a ServerSocket on port: " + port);
final ServerSocket socket = new ServerSocket(port);
socket.setReuseAddress(true);
this.serverSocketStarted = true;
this.serverSocketKeepAlive = true;
return socket;
}else{
log.log(Level.WARNING,"There is currently a ServerSocket running on port: " + port);
return null;
}
}
项目:openjdk-jdk10
文件:Server.java
Server(int port) throws IOException {
ss = new ServerSocket(port);
sockets = Collections.synchronizedList(new LinkedList<>());
removals = Collections.synchronizedList(new LinkedList<>());
additions = Collections.synchronizedList(new LinkedList<>());
setName("Test-Server");
setDaemon(true);
}
项目:FRC-2017-Public
文件:MJPEGServerSocket.java
/**
* Starts the DataServerThread thread
* <br>Created server socket opens on given port
*/
public void start(){
if(!m_MJPEGServerState.equals(MJPEGServerState.PREINIT)){ // This should never happen
System.out.println("Error: in DataServerThread.start(), " +
"socket is already initialized");
}
if(m_running){ // This should never happen
System.out.println("Error: in DataServerThread.start(), " +
"thread is already running");
}
try {
m_server = new ServerSocket(m_port);
m_server.setReuseAddress(true);
System.out.println("Vision stream server started");
} catch (IOException e) {
e.printStackTrace();
}
this.SetState(MJPEGServerState.CONNECTING);
m_running = true;
System.out.println("Starting Thread: MJPEGServerThread on port "+m_port);
(new Thread(this, "MJPEGServerThread")).start();
}
项目:tomcat7
文件:JSSESocketFactory.java
/**
* Configures the given SSL server socket with the requested cipher suites,
* protocol versions, and need for client authentication
*/
private void initServerSocket(ServerSocket ssocket) {
SSLServerSocket socket = (SSLServerSocket) ssocket;
socket.setEnabledCipherSuites(enabledCiphers);
socket.setEnabledProtocols(enabledProtocols);
// we don't know if client auth is needed -
// after parsing the request we may re-handshake
configureClientAuth(socket);
configureUseServerCipherSuitesOrder(socket);
}
项目:EatDubbo
文件:SimpleRegistryExporter.java
public synchronized static Exporter<RegistryService> exportIfAbsent(int port) {
try {
new ServerSocket(port).close();
return export(port);
} catch (IOException e) {
return null;
}
}
项目:aos-FileCoreLibrary
文件:StreamOverHttp.java
public StreamOverHttp(final Uri uri, final String forceMimeType) throws IOException{
mUri = uri;
mName = Utils.getName(mUri);
fileMimeType = forceMimeType!=null ? forceMimeType : "*/*";
serverSocket = new ServerSocket(0);
mainThread = new Thread(new Runnable(){
public void run(){
try{
while(true) {
Socket accept = serverSocket.accept();
new HttpSession(accept,fileMimeType);
}
}catch(IOException e){
if (debug)
Log.w(TAG, e);
}
}
});
mainThread.setName("Stream over HTTP");
mainThread.setDaemon(true);
mainThread.start();
}
项目:apache-tomcat-7.0.73-with-comment
文件:JSSESocketFactory.java
/**
* Configures the given SSL server socket with the requested cipher suites,
* protocol versions, and need for client authentication
*/
private void initServerSocket(ServerSocket ssocket) {
SSLServerSocket socket = (SSLServerSocket) ssocket;
socket.setEnabledCipherSuites(enabledCiphers);
socket.setEnabledProtocols(enabledProtocols);
// we don't know if client auth is needed -
// after parsing the request we may re-handshake
configureClientAuth(socket);
configureUseServerCipherSuitesOrder(socket);
}
项目:Nird2
文件:TcpPlugin.java
protected void tryToClose(@Nullable ServerSocket ss) {
try {
if (ss != null) ss.close();
} catch (IOException e) {
if (LOG.isLoggable(WARNING)) LOG.log(WARNING, e.toString(), e);
} finally {
callback.transportDisabled();
}
}
项目:dubbo2
文件:SimpleRegistryExporter.java
public synchronized static Exporter<RegistryService> exportIfAbsent(int port) {
try {
new ServerSocket(port).close();
return export(port);
} catch (IOException e) {
return null;
}
}
项目:verify-hub
文件:EidasSessionResourceContractTest.java
private static int getRandomUnallocatedPort() {
try (ServerSocket socket = new ServerSocket(0)) {
return socket.getLocalPort();
} catch (IOException e) {
throw Throwables.propagate(e);
}
}
项目:tomcatjss
文件:JSSSocketFactory.java
public ServerSocket createSocket(int port, int backlog,
InetAddress ifAddress, boolean reuseAddr) throws IOException {
SSLServerSocket socket = null;
socket = new SSLServerSocket(port, backlog, ifAddress, null, reuseAddr);
initializeSocket(socket);
return socket;
}
项目:vertx-graphql-utils
文件:GraphQLBodyCodecTest.java
@Before
public void setup() throws IOException {
vertx = Vertx.vertx();
try (ServerSocket s = new ServerSocket(0)) {
httpPort = s.getLocalPort();
}
}