- 浏览: 547608 次
- 性别:
- 来自: 安徽
文章分类
最新评论
-
baynjh:
jp.ne.so_net.ga2.no_ji.jcom.JCo ...
java应用jcom将word转pdf -
zgw06629:
你好,请问你都做了哪些修改呢?是在客户端还是服务端?
http上传文件深度解析-高性能http传输 -
eidolon:
翻译有误。 l ?:意思是操作符左边的符号( ...
BNF 和EBNF的含义与用法(感谢译者:Sunnybill) -
huoyj:
请教一个问题,是不是HTTP请求里面没有包含上传文件在客户端的 ...
http上传文件深度解析-高性能http传输 -
a49688448:
“认清” 我还以为google怎么你了
最近终于认清了google
Client and Server Demo |
/* From http://java.sun.com/docs/books/tutorial/index.html */
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 EchoClient { public static void main ( String [] args ) throws IOException { Socket echoSocket = null ; PrintWriter out = null ; BufferedReader in = null ; try { echoSocket = new Socket ( "taranis" , 7 ) ; out = new PrintWriter ( echoSocket.getOutputStream () , true ) ; in = new BufferedReader ( new InputStreamReader ( echoSocket.getInputStream ())) ; } catch ( UnknownHostException e ) { System.err.println ( "Don't know about host: taranis." ) ; System.exit ( 1 ) ; } catch ( IOException e ) { System.err.println ( "Couldn't get I/O for " + "the connection to: taranis." ) ; System.exit ( 1 ) ; } BufferedReader stdIn = new BufferedReader ( new InputStreamReader ( System.in )) ; String userInput; while (( userInput = stdIn.readLine ()) != null ) { out.println ( userInput ) ; System.out.println ( "echo: " + in.readLine ()) ; } out.close () ; in.close () ; stdIn.close () ; echoSocket.close () ; } } //////////////////////////////////////////////////////////// import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; public class KnockKnockServer { public static void main ( String [] args ) throws IOException { ServerSocket serverSocket = null ; try { serverSocket = new ServerSocket ( 4444 ) ; } catch ( IOException e ) { System.err.println ( "Could not listen on port: 4444." ) ; System.exit ( 1 ) ; } Socket clientSocket = null ; try { clientSocket = serverSocket.accept () ; } catch ( IOException e ) { System.err.println ( "Accept failed." ) ; System.exit ( 1 ) ; } PrintWriter out = new PrintWriter ( clientSocket.getOutputStream () , true ) ; BufferedReader in = new BufferedReader ( new InputStreamReader ( clientSocket.getInputStream ())) ; String inputLine, outputLine; KnockKnockProtocol kkp = new KnockKnockProtocol () ; outputLine = kkp.processInput ( null ) ; out.println ( outputLine ) ; while (( inputLine = in.readLine ()) != null ) { outputLine = kkp.processInput ( inputLine ) ; out.println ( outputLine ) ; if ( outputLine.equals ( "Bye." )) break ; } out.close () ; in.close () ; clientSocket.close () ; serverSocket.close () ; } } class KnockKnockProtocol { private static final int WAITING = 0 ; private static final int SENTKNOCKKNOCK = 1 ; private static final int SENTCLUE = 2 ; private static final int ANOTHER = 3 ; private static final int NUMJOKES = 5 ; private int state = WAITING; private int currentJoke = 0 ; private String [] clues = { "Turnip" , "Little Old Lady" , "Atch" , "Who" , "Who" } ; private String [] answers = { "Turnip the heat, it's cold in here!" , "I didn't know you could yodel!" , "Bless you!" , "Is there an owl in here?" , "Is there an echo in here?" } ; public String processInput ( String theInput ) { String theOutput = null ; if ( state == WAITING ) { theOutput = "Knock! Knock!" ; state = SENTKNOCKKNOCK; } else if ( state == SENTKNOCKKNOCK ) { if ( theInput.equalsIgnoreCase ( "Who's there?" )) { theOutput = clues [ currentJoke ] ; state = SENTCLUE; } else { theOutput = "You're supposed to say \"Who's there?\"! " + "Try again. Knock! Knock!" ; } } else if ( state == SENTCLUE ) { if ( theInput.equalsIgnoreCase ( clues [ currentJoke ] + " who?" )) { theOutput = answers [ currentJoke ] + " Want another? (y/n)" ; state = ANOTHER; } else { theOutput = "You're supposed to say \"" + clues [ currentJoke ] + " who?\"" + "! Try again. Knock! Knock!" ; state = SENTKNOCKKNOCK; } } else if ( state == ANOTHER ) { if ( theInput.equalsIgnoreCase ( "y" )) { theOutput = "Knock! Knock!" ; if ( currentJoke == ( NUMJOKES - 1 )) currentJoke = 0 ; else currentJoke++; state = SENTKNOCKKNOCK; } else { theOutput = "Bye." ; state = WAITING; } } return theOutput; } } //////////////////////////////////////////////////////////// import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; public class KKMultiServer { public static void main ( String [] args ) throws IOException { ServerSocket serverSocket = null ; boolean listening = true ; try { serverSocket = new ServerSocket ( 4444 ) ; } catch ( IOException e ) { System.err.println ( "Could not listen on port: 4444." ) ; System.exit ( - 1 ) ; } while ( listening ) new KKMultiServerThread ( serverSocket.accept ()) .start () ; serverSocket.close () ; } } class KKMultiServerThread extends Thread { private Socket socket = null ; public KKMultiServerThread ( Socket socket ) { super ( "KKMultiServerThread" ) ; this .socket = socket; } public void run () { try { PrintWriter out = new PrintWriter ( socket.getOutputStream () , true ) ; BufferedReader in = new BufferedReader ( new InputStreamReader ( socket .getInputStream ())) ; String inputLine, outputLine; KnockKnockProtocol kkp = new KnockKnockProtocol () ; outputLine = kkp.processInput ( null ) ; out.println ( outputLine ) ; while (( inputLine = in.readLine ()) != null ) { outputLine = kkp.processInput ( inputLine ) ; out.println ( outputLine ) ; if ( outputLine.equals ( "Bye" )) break ; } out.close () ; in.close () ; socket.close () ; } catch ( IOException e ) { e.printStackTrace () ; } } } class KnockKnockProtocol { private static final int WAITING = 0 ; private static final int SENTKNOCKKNOCK = 1 ; private static final int SENTCLUE = 2 ; private static final int ANOTHER = 3 ; private static final int NUMJOKES = 5 ; private int state = WAITING; private int currentJoke = 0 ; private String [] clues = { "Turnip" , "Little Old Lady" , "Atch" , "Who" , "Who" } ; private String [] answers = { "Turnip the heat, it's cold in here!" , "I didn't know you could yodel!" , "Bless you!" , "Is there an owl in here?" , "Is there an echo in here?" } ; public String processInput ( String theInput ) { String theOutput = null ; if ( state == WAITING ) { theOutput = "Knock! Knock!" ; state = SENTKNOCKKNOCK; } else if ( state == SENTKNOCKKNOCK ) { if ( theInput.equalsIgnoreCase ( "Who's there?" )) { theOutput = clues [ currentJoke ] ; state = SENTCLUE; } else { theOutput = "You're supposed to say \"Who's there?\"! " + "Try again. Knock! Knock!" ; } } else if ( state == SENTCLUE ) { if ( theInput.equalsIgnoreCase ( clues [ currentJoke ] + " who?" )) { theOutput = answers [ currentJoke ] + " Want another? (y/n)" ; state = ANOTHER; } else { theOutput = "You're supposed to say \"" + clues [ currentJoke ] + " who?\"" + "! Try again. Knock! Knock!" ; state = SENTKNOCKKNOCK; } } else if ( state == ANOTHER ) { if ( theInput.equalsIgnoreCase ( "y" )) { theOutput = "Knock! Knock!" ; if ( currentJoke == ( NUMJOKES - 1 )) currentJoke = 0 ; else currentJoke++; state = SENTKNOCKKNOCK; } else { theOutput = "Bye." ; state = WAITING; } } return theOutput; } } //////////////////////////////////////////////////////////// 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 KnockKnockClient { public static void main ( String [] args ) throws IOException { Socket kkSocket = null ; PrintWriter out = null ; BufferedReader in = null ; try { kkSocket = new Socket ( "taranis" , 4444 ) ; out = new PrintWriter ( kkSocket.getOutputStream () , true ) ; in = new BufferedReader ( new InputStreamReader ( kkSocket .getInputStream ())) ; } catch ( UnknownHostException e ) { System.err.println ( "Don't know about host: taranis." ) ; System.exit ( 1 ) ; } catch ( IOException e ) { System.err .println ( "Couldn't get I/O for the connection to: taranis." ) ; System.exit ( 1 ) ; } BufferedReader stdIn = new BufferedReader ( new InputStreamReader ( System.in )) ; String fromServer; String fromUser; while (( fromServer = in.readLine ()) != null ) { System.out.println ( "Server: " + fromServer ) ; if ( fromServer.equals ( "Bye." )) break ; fromUser = stdIn.readLine () ; if ( fromUser != null ) { System.out.println ( "Client: " + fromUser ) ; out.println ( fromUser ) ; } } out.close () ; in.close () ; stdIn.close () ; kkSocket.c 发表评论
|
相关推荐
Webservice Client and Server demo in PHP
DHCP (Dynamic Host Configuration Protocol) is a LAN network protocol and we want to achieve to assign IP ... And DHCP server can control a range of IP addresses which can be assigned once client logs in.
The developer build a working instant message demo client and a working XMPP protocol component with Firemonkey and I am making them available. It does use the OXML library for Delphi which is also ...
基于.net core3.0 MQTT协议通信,并nuGet下载MQTTnet 2.7.5.0,附件有源码说明,应用程序可直接运行
2、包含Server和Client于一个Demo,可以实时相互测试 3、实现text文件实时记录收发数据 4、本案例教你如何使用C#BCL自带的异步接收函数BeginReceive()异步接收数据 5、含大量重要注释,适合新人阅读理解代码
a project about python udp server/client demo, run them in different computers,you can better experience the enjoyment of network programming with python 1 this is a implementation of python udp ...
KEPServerEX IoT Gateway
SocketCommunication-Demo, include server and client code.
Our dOPC Client Toolkit ...We encourage you to download our free trial version, which is fully functional and includes a comprehensive help file and over 30 demo and example programs (with source code).
A Websocket protocol implementation atop the ush Framework real time library plus a demo example featuring four types of communication workflows between the HTML5 web client and the server.
Android AIDL Demo源码.包含Client端和Server端,Client调用aidl服务进行加法运算
FastReport.v4.15 for.Delphi.BCB.Full.Source企业版含ClientServer中文修正版支持Delphi 4-XE5 and C++Builder 6-XE5. D2010以上版本(D14_D19)安装必读 delphi2010以上版本(D14_D19)使用者安装时,请将res\frccD14_...
./skynet examples/config # Launch first skynet node (Gate server) and a skynet-master (see config for standalone option) ./3rd/lua/lua examples/client.lua # Launch a client, and try to input hello. ...
'make keeping the client and the server working together a real chore. To get 'around this, go to the Tools.Options.Project dialog and set the "Compatible OLE 'Server" field to a previous instance of ...
.\Samples\delphi\BroswerDemo\Resources Resource file, web pages and movie linked into browser demo .\Samples\delphi\FtpDemos Delphi Win32/Win64 FTP sample applications (all Delphi versions) .\Samples\...
This is a demo application which shows how RabbitMQ can be used for a group chat/messaging app. ... A python client is also available using which one can test if the server is working or not.
It protects any TCP traffic using SSH or SSL secure transport layer protocols, that provide authentication for both client and server, strong data encryption, and data integrity verification....
UniDAC provides transparent server-independent interfaces for working with different databases, and lets you change the client engine for specific server type just by changing single connection option...
[+] : MQTT client, added Authentication property, allows to set user and password to authenticate against MQTT Server. [+] : MQTT client, added HeartBeat property, keeps alive connection. [+] : ...
This package contains implementations of a XML-RPC server and a XML-RPC client. Target platforms are Windows, Linux and native DOS by use of DWPL and ...server and client implementations are included.