初学java socket编程实例代码讲解
生活随笔
收集整理的這篇文章主要介紹了
初学java socket编程实例代码讲解
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、所謂socket通常也稱作”套接字”,用于描述IP地址和端口,是一個通信鏈的句柄。應用程序通常通過”套接字”向網絡發出請求或者應答網絡請求。
操作java socket時用到的最多的三個方法為:
accept():主要用于服務器端產生“阻塞”,等待客戶端的鏈接請求,并且返回一個客戶端的Socket實例;
getInputStream():方法主要用來獲得網絡連接輸入,同時返回一個InputStream對象實例;
getOutputStream():方法和上面的getInputStream相反。
2、一般要建立Java的Socket連接,應首先明確服務器端和客戶端,服務器端使用ServerSocket監聽指定的端口,使用accept等待客戶端請求,鏈接鏈接,開始會話、完成會話后,關閉鏈接。(注意,一般socket的關閉都應該是服務器端來進行的,后面說);客戶端使用Socket對網絡中的某個服務器的某個端口發出鏈接請求,連接成功,開始會話,會話完成,Socket關閉。
2、示例代碼:
服務器端:
package com.icer.server;import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket;/*** Server* * @author Icer* */ public class Server {private ServerSocket ss;private Socket s;private BufferedReader br;private PrintWriter pw;public Server() {try {ss = new ServerSocket(10000);System.out.println("Server is starting...");s = ss.accept();br = new BufferedReader(new InputStreamReader(s.getInputStream()));pw = new PrintWriter(s.getOutputStream(),true);String line = br.readLine();System.out.println(line);pw.println("your word is:" + line);//pw.println("helloworld");br.close();pw.close();} catch (IOException ie) {ie.printStackTrace();}}public static void main(String[] args) throws Exception {new Server();} }客戶端:
package com.icer.client;import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.Socket;/*** Client* @author Icer**/ public class Client {private Socket s;private BufferedReader br;//private BufferedReader line;private PrintWriter pw;private String line = "";public Client() {try{s = new Socket("127.0.0.1",10000);pw = new PrintWriter(s.getOutputStream(),true);br = new BufferedReader(new InputStreamReader(s.getInputStream()));pw.println("hello");line = br.readLine();System.out.println(line);br.close();pw.close();}catch(IOException ie){ie.printStackTrace();}}public static void main(String[] args) throws Exception {new Client();} }上就是本文的全部內容,希望對大家的學習有所幫助。
總結
以上是生活随笔為你收集整理的初学java socket编程实例代码讲解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 移动端屏幕宽度自适应原理及实现
- 下一篇: rapidxml往xml文件循环写入内容