java socket通信demo_Java Socket通信示例
Socket分為ServerSocket和Socket兩大類;
其中ServerSocket用于服務器端,可以通過accept方法監聽請求,監聽到請求后返回Socket;
Socket用戶具體完成數據傳輸,客戶端直接使用Socket發生請求并傳輸數據。
DEMO:
單方面發送消息:
服務端:
package com.seesun2012.socket;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;
/**
* Socket服務端
*
* @author seesun2012@163.com
*
*/
public class TcpServer {
public static void main(String[] args) {
doServer();
}
private static void doServer() {
try {
//建立服務端的Socket服務
ServerSocket ss = new ServerSocket(15421);
//獲取客戶端對象
Socket s = ss.accept();
//獲取客戶端IP地址
String ip = s.getInetAddress().getHostAddress();
//獲取客戶端端口號
int port = s.getPort();
System.out.println(ip + ":" + port + " 已建立連接");
//用輸入流接收客戶端輸出流
InputStream ins = s.getInputStream();
byte[] bytes = new byte[1024];
int len = ins.read(bytes);
//將二進制轉成字符串
String text = new String(bytes, 0, len);
System.out.println(text);
//釋放資源
s.close();
ss.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
客戶端:
package com.seesun2012.socket;
import java.io.OutputStream;
import java.net.Socket;
/**
* Socket客戶端
*
* @author seesun2012@163.com
*
*/
public class TcpClient {
public static void main(String[] args) {
doSocket();
}
private static void doSocket(){
try {
//與服務器建立連接
Socket s = new Socket("127.0.0.1", 15421);
//獲取一個輸出流
OutputStream os = s.getOutputStream();
//向服務器輸出流中傳入二進制字節流
os.write("你好,CHINA~!".getBytes());
//釋放資源
s.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
總結
以上是生活随笔為你收集整理的java socket通信demo_Java Socket通信示例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 5移动管家汽车远程启动系统无钥匙进入一键
- 下一篇: java打开db文件_java 读取DB