近日學習webRTC,對於網絡編程與JS編程一頭霧水。只能踏實從最簡單的開始,本身底子實在太薄。java
(1)TCPweb
服務器端代碼:編程
import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.InputStreamReader; import java.io.IOException; import java.io.OutputStreamWriter; import java.net.ServerSocket; import java.net.Socket; public class Server_test{ public static void main(String[] args) { ServerSocket server= null; Socket clientSocket =null; String str= null; DataOutputStream out= null; DataInputStream in = null; try{ server = new ServerSocket(4331); clientSocket=server.accept(); in =new DataInputStream( clientSocket.getInputStream()); out=new DataOutputStream(clientSocket.getOutputStream()); while(true) { str=in.readUTF(); out.writeUTF("hello,I am server@"); out.writeUTF(str); System.out.println("服務器收到:"+str); Thread.sleep(1000); } }catch(Exception e){ e.printStackTrace(); } } }
客戶端代碼:服務器
import java.net.Socket; import java.io.DataInputStream; import java.io.DataOutputStream; public class Client_test{ public static void main(String [] args) { String str= null; Socket clientSocket; DataInputStream in = null; DataOutputStream out= null; try{ clientSocket = new Socket("127.0.0.1",4331); in = new DataInputStream(clientSocket.getInputStream()); out= new DataOutputStream(clientSocket.getOutputStream()); out.writeUTF("你好!!"); while(true){ str= in.readUTF(); out.writeUTF(((int)(Math.random()*10)+1)+""); System.out.println("客戶端收到:"+str); Thread.sleep(1000); } }catch (Exception e){ e.printStackTrace(); } } }
運行結果:網絡
(2) UDPdom
服務器端:學習
import java.io.*; import java.net.*; public class Datagram_server{ public static void main(String[] args) { DatagramSocket serverSocket; try{ serverSocket= new DatagramSocket(6000); byte[] recvBuf= new byte[100]; DatagramPacket recvPacket= new DatagramPacket(recvBuf, recvBuf.length); serverSocket.receive(recvPacket); String recvStr=new String(recvPacket.getData(),0,recvPacket.getLength()); System.out.println("Hello,"+recvStr); int port= recvPacket.getPort(); InetAddress address= recvPacket.getAddress(); String sendStr="服務器發送信息!"; byte[] sendBuf; sendBuf=sendStr.getBytes(); DatagramPacket sendPacket= new DatagramPacket(sendBuf, sendBuf.length,address,port); serverSocket.send(sendPacket); serverSocket.close(); }catch(Exception e){ e.printStackTrace(); } } }
客戶端:spa
import java.io.*; import java.net.*; public class Datagram_client{ public static void main(String[] args){ DatagramSocket clientSocket; try{ clientSocket= new DatagramSocket(); String sendStr= "你好,我是客戶機"; byte[] sendBuf; sendBuf=sendStr.getBytes(); InetAddress addr= InetAddress.getByName("127.0.0.1"); int port= 6000; DatagramPacket sendPacket= new DatagramPacket(sendBuf, sendBuf.length, addr, port); clientSocket.send(sendPacket); byte[] recvBuf= new byte[100]; DatagramPacket recvPacket= new DatagramPacket(recvBuf,recvBuf.length); clientSocket.receive(recvPacket); String recvStr= new String(recvPacket.getData(),0,recvPacket.getLength()); System.out.println("收到:"+recvStr); clientSocket.close(); }catch(Exception e){ e.printStackTrace(); } } }
運行結果:.net