この記事では、参照用のJavaソケットバイトストリーミングの例を共有しています。特定のコンテンツは次のとおりです
サーバー側:
パッケージcom.yuan.socket; import java.io。*; Import java.net.serversocket; Import java.net.socket;/***は2016-09-17にYuanによって作成されました。 */public class talkserver4byte {private serversocket server; Private int port = 5020; public Talkserver4byte(){try {server = new Serversocket(port); } catch(ioexception e){}} public void talk(){system.out.println( "Monitor Port:" + port);ソケットソケット= null; while(true){try {//ブロッキングと待機、すべてのリクエストの新しい接続インスタンスを作成したSocket = server.accept(); System.out.println( "Connect Client Clientアドレス:" + socket.getRemoteSocketAddress()); //装飾ストリームBufferedReaderは、入力ストリームをカプセル化します(クライアントストリームを受信)BufferedInputStream bis = new BufferedInputStream(socket.getInputStream()); datainputStream dis = new DatainputStream(bis); byte [] bytes = new byte [1]; //一度に1つのバイトを読み取ります= ""; while(dis.read(bytes)!= -1){ret + = bytestohexstring(bytes) + ""; if(dis.abailable()== 0){//要求dosomething(ret); }}} catch(ioexception e){system.out.println(e.getmessage()); }最後に{try {socket.close(); } catch(ioException e){system.out.println(e.getmessage()); }}}} public static void dosomething(string ret){system.out.println(ret); } public static string bytestohexstring(byte [] src){stringbuilder stringbuilder = new StringBuilder( ""); if(src == null || src.length <= 0){return null; } for(int i = 0; i <src.length; i ++){int v = src [i]&0xff;文字列hv = integer.tohexstring(v); if(hv.length()<2){stringbuilder.append(0); } StringBuilder.Append(HV); } return stringbuilder.toString(); } public static string byteshexstring(byte [] b){string ret = ""; for(int i = 0; i <b.length; i ++){string hex = integer.tohexstring(b [i]&0xff); if(hex.length()== 1){hex = '0' + hex; } ret += hex.touppercase(); } rett; } public static void main(string [] args){talkserver4byte server = new Talkserver4byte(); server.talk(); }}クライアントクライアントコード:
パッケージcom.yuan.socket; import java.io.datainputStream; Import java.io.dataoutputStream; Import java.io.ioexception; Import java.io.inputStream; Import java.net.inputsocketAddress; Import Java.net.socket; Import java.net.socket.net.socket.socket; 2016-09-17。 */public class talkclient4byte {private socket socket;プライベートソケットアドレスアドレス。 public client4byte(){try {socket = new Socket(); address = new inetsocketAddress( "127.0.0.1"、5020); socket.connect(アドレス、1000); } catch(ioexception e){e.printstacktrace(); }} public void talk(){try {// datainputStreamを使用して入力ストリーム入力ストリームos = new DatainputStream(System.in); byte [] b = new byte [1]; dataoutputStream dos = new DataOutputStream(socket.getOutputStream()); while(-1!= os.read(b)){dos.write(b); //クライアントに送信} dos.flush(); dos.close(); } catch(ioexception e){e.printstacktrace(); }最後に{try {socket.close(); } catch(ioException e){}}} public static void main(string [] args){talkclient4byte client = new TalkClient4Byte(); client.talk(); }}上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。