Tcp实现聊天讲解
客戶端:
1.連接服務器Socket
2.發送消息
服務端:
1.建立服務端口ServerSocket
2.等待用戶的連接accept
3.接收用的消息
==========================
package com.wuming.lesson02;import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.net.ServerSocket; import java.net.Socket;//服務端 public class TcpServer03 {public static void main(String[] args) {ServerSocket serverSocket=null;Socket socket=null;InputStream is=null;ByteArrayOutputStream baos=null;//1.提供地址try {serverSocket = new ServerSocket(9999);while(true){//2.連客戶端socket = serverSocket.accept();//3.讀客戶端消息is = socket.getInputStream();/** byte[] buffer = new byte[1024];int len;while((len=is.read(buffer))!=-1){java.lang.String msg = new java.lang.String(buffer, 0, len);System.out.println(msg);}* *///管道流baos = new ByteArrayOutputStream();byte[] buffer = new byte[1024];int len;while((len=is.read(buffer))!=-1){baos.write(buffer,0,len);}System.out.println(baos.toString());}} catch (IOException e) {e.printStackTrace();}finally {//關閉資源if (baos!=null){try {baos.close();} catch (IOException e) {e.printStackTrace();}}if(is!=null){try {is.close();} catch (IOException e) {e.printStackTrace();}}if(socket!=null){try {socket.close();} catch (IOException e) {e.printStackTrace();}}if(serverSocket!=null){try {serverSocket.close();} catch (IOException e) {e.printStackTrace();}}}} } ========================= package com.wuming.lesson02;import java.io.IOException; import java.io.OutputStream; import java.net.InetAddress; import java.net.Socket;//客戶端 public class TcpClientDemo01 {public static void main(String[] args) {OutputStream os=null;Socket socket=null;//1.服務器地址try {InetAddress serverIp = InetAddress.getByName("127.0.0.1");int port=9999;//2.創socket連接socket = new Socket(serverIp,port);//3.發送消息IO流os = socket.getOutputStream();os.write("你好".getBytes());} catch (Exception e) {e.printStackTrace();}finally {if(os!=null){try {os.close();} catch (IOException e) {e.printStackTrace();}}if(socket!=null){try {socket.close();} catch (IOException e) {e.printStackTrace();}}}} }============
先啟動服務端,在啟動客戶端,在服務端控制臺看打印結果為:
你好
在啟動客戶端,結果為(因為服務端用來while(true)):
你好
你好
總結
- 上一篇: jq之$(“tr:odd“).css(“
- 下一篇: 运算符细节讲解