資源簡(jiǎn)介
壓縮包里有客戶端源碼和服務(wù)器端源碼,支持TCP的雙向認(rèn)證,也支持WEBSOCKET的雙向認(rèn)證,內(nèi)附測(cè)試 wss的測(cè)試?yán)樱?需要生成PKCS12的證書,導(dǎo)入瀏覽器才可以測(cè)試。

代碼片段和文件信息
/*
?*?Copyright?2012?The?Netty?Project
?*
?*?The?Netty?Project?licenses?this?file?to?you?under?the?Apache?License
?*?version?2.0?(the?“License“);?you?may?not?use?this?file?except?in?compliance
?*?with?the?License.?You?may?obtain?a?copy?of?the?License?at:
?*
?*???http://www.apache.org/licenses/LICENSE-2.0
?*
?*?Unless?required?by?applicable?law?or?agreed?to?in?writing?software
?*?distributed?under?the?License?is?distributed?on?an?“AS?IS“?BASIS?WITHOUT
?*?WARRANTIES?OR?CONDITIONS?OF?ANY?KIND?either?express?or?implied.?See?the
?*?License?for?the?specific?language?governing?permissions?and?limitations
?*?under?the?License.
?*/
package?com.tesla.websocket.server;
import?io.netty.bootstrap.Bootstrap;
import?io.netty.channel.Channel;
import?io.netty.channel.ChannelFuture;
import?io.netty.channel.EventLoopGroup;
import?io.netty.channel.nio.NioEventLoopGroup;
import?io.netty.channel.socket.nio.NioSocketChannel;
import?java.io.BufferedReader;
import?java.io.InputStreamReader;
public?class?SecureClient?
{
????private?final?String?host;
????private?final?int?port;
????private?final?String?sslMode;
????public?SecureClient(String?host?int?port?String?sslMode)?{
this.host?=?host;
this.port?=?port;
this.sslMode?=?sslMode;
????}
????public?void?run()?throws?Exception?
????{
EventLoopGroup?group?=?new?NioEventLoopGroup();
try?
{
????Bootstrap?b?=?new?Bootstrap();
????b.group(group).channel(NioSocketChannel.class).handler(new?SecureClientInitializer(sslMode));
????//?Start?the?connection?attempt.
????Channel?ch?=?b.connect(host?port).sync().channel();
????//?Read?commands?from?the?stdin.
????ChannelFuture?lastWriteFuture?=?null;
????BufferedReader?in?=?new?BufferedReader(new?InputStreamReader(System.in));
????for?(;;)?
????{
???? System.out.println(“---read?lne?:?“);
????
???? String?line?=?in.readLine();
???? if?(line?==?null)?{
???? break;
???? }
???? System.out.println(“?:?“+line);
//?Sends?the?received?line?to?the?server.
lastWriteFuture?=?ch.writeAndFlush(line?+?“\r\n“);
//?If?user?typed?the?‘bye‘?command?wait?until?the?server?closes
//?the?connection.
if?(“bye“.equals(line.toLowerCase()))?{
????ch.closeFuture().sync();
????break;
}
????}
????//?Wait?until?all?messages?are?flushed?before?closing?the?channel.
????if?(lastWriteFuture?!=?null)?{
???? lastWriteFuture.sync();
????}
}?finally?{
????//?The?connection?is?closed?automatically?on?shutdown.
????group.shutdownGracefully();
}
????}
????public?static?void?main(String[]?args)?throws?Exception
????{
String?addr?=?“127.0.0.1“;
if?(args.length?>?0)?{
????try?{
???? addr?=?args[0];
????}?catch?(NumberFormatException?e)?{
???? e.printStackTrace();
????}
}
????
int?port?=?8888;
if?(args.length?>?1)?{
????try?{
???? port?=?Integer.parseInt(args[1]);
????}?catch?(NumberFormatException?e)?{
???? e.printStackTrace();
????}
}
//new?WebSocketServer().run(port);
S
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2017-02-02?14:19??TeslaSSLClient\
?????文件?????????585??2017-02-02?14:16??TeslaSSLClient\.classpath
?????文件?????????390??2017-01-26?18:12??TeslaSSLClient\.project
?????目錄???????????0??2017-01-26?18:12??TeslaSSLClient\.settings\
?????文件?????????598??2017-01-26?18:12??TeslaSSLClient\.settings\org.eclipse.jdt.core.prefs
?????目錄???????????0??2017-02-02?14:19??TeslaSSLClient\bin\
?????目錄???????????0??2017-02-02?14:16??TeslaSSLClient\bin\com\
?????目錄???????????0??2017-02-02?14:16??TeslaSSLClient\bin\com\tesla\
?????目錄???????????0??2017-02-02?14:16??TeslaSSLClient\bin\com\tesla\websocket\
?????目錄???????????0??2017-02-02?14:32??TeslaSSLClient\bin\com\tesla\websocket\server\
?????文件????????1038??2017-02-02?14:16??TeslaSSLClient\bin\com\tesla\websocket\server\SSLMODE.class
?????文件????????3519??2017-02-02?22:05??TeslaSSLClient\bin\com\tesla\websocket\server\SecureClient.class
?????文件????????1866??2017-02-02?14:16??TeslaSSLClient\bin\com\tesla\websocket\server\SecureClientHandler.class
?????文件????????3165??2017-02-02?22:04??TeslaSSLClient\bin\com\tesla\websocket\server\SecureClientInitializer.class
?????文件????????4990??2017-02-02?14:16??TeslaSSLClient\bin\com\tesla\websocket\server\SecureSslContextFactory.class
?????文件????????1411??2016-11-03?16:17??TeslaSSLClient\bin\log4j.properties
?????目錄???????????0??2017-02-02?22:07??TeslaSSLClient\export\
?????目錄???????????0??2017-01-26?18:15??TeslaSSLClient\lib\
?????文件??????489883??2016-11-03?16:17??TeslaSSLClient\lib\log4j-1.2.17.jar
?????文件??????832960??2016-11-03?16:17??TeslaSSLClient\lib\mysql-connector-java-5.1.22-bin.jar
?????文件?????1576326??2015-05-16?19:59??TeslaSSLClient\lib\netty-all-5.0.0.Alpha1.jar
?????目錄???????????0??2017-02-02?14:16??TeslaSSLClient\src\
?????目錄???????????0??2017-02-02?14:16??TeslaSSLClient\src\com\
?????目錄???????????0??2017-02-02?14:16??TeslaSSLClient\src\com\tesla\
?????目錄???????????0??2017-02-02?14:16??TeslaSSLClient\src\com\tesla\websocket\
?????目錄???????????0??2017-02-02?14:32??TeslaSSLClient\src\com\tesla\websocket\server\
?????文件??????????80??2017-01-26?18:45??TeslaSSLClient\src\com\tesla\websocket\server\SSLMODE.java
?????文件????????3223??2017-02-02?22:05??TeslaSSLClient\src\com\tesla\websocket\server\SecureClient.java
?????文件????????1425??2017-02-02?13:03??TeslaSSLClient\src\com\tesla\websocket\server\SecureClientHandler.java
?????文件????????2855??2017-02-02?22:04??TeslaSSLClient\src\com\tesla\websocket\server\SecureClientInitializer.java
?????文件????????5406??2017-02-02?11:02??TeslaSSLClient\src\com\tesla\websocket\server\SecureSslContextFactory.java
............此處省略65個(gè)文件信息
評(píng)論
共有 條評(píng)論