用socket(套接字)实现客户端与服务端的通信。
这里举两个例子:
第一种是每次客户端发送一个数据,服务端就做一个应答。(也就是要轮流发)
第二种是客户端可以连续的向服务端发数据,服务端也可以连续向客户端发数据。(多线程)
为了方便起见,客户端服务端都放在一个主机上,分别开两个进程[哈哈,进程间通信lol~]
PS: 一个聊天程序雏形
代码也放在GitHub上了:https://github.com/MummyDing/socketChatDemo
Demo 1:
简单的Socket通信,一人一句话就结束了(要一直说加个循环就好)
客户端
/**
Client
Author :MummyDing
*/
import java.lang.Runnable;
import java.io.*;
import java.net.*;
class clientConnect{
Socket client = null;
BufferedReader inputData = null;
PrintWriter outputData = null;
String receiveData ,sendData ;
clientConnect(){
try {
client = new Socket("127.0.0.1", 5234);
dealData();
}
catch (Exception e) {
System.out.println("I cann't Connect!");
System.exit(1);
}
}
void dealData(){
try{
outputData = new PrintWriter(client.getOutputStream(), true);
inputData = new BufferedReader(new InputStreamReader(client.getInputStream()));
sendMsg();