xmpp推送和xmpp即时通信加在简历上,你是可以多要1000大洋的。主要使用是用socket进行通信的,但是现在一般使用集成框架进行开发。不过基础我们还是需要去了解的。
主要需要知识点:IO流,socket基本知识
本章主要是通过郭大神讲解的视频做的总结
客户端编写
客户端实现的功能有:发送消息,接收消息
package com.xiaoxin.client;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.Socket;
public class socketClient {
/**
* 读取我们输入信息
*/
private BufferedReader readClientPrintMsg;
/**
* 读取服务器信息
*/
private BufferedReader serverToClientMsg;
/**
* 发送信息
*/
private BufferedWriter ClientToServerMsg;
private Socket socket;
public static void main(String[] args) {
//socket客户端
socketClient client=new socketClient();
client.start();
}
private void start() {
try {
socket = new Socket("127.0.0.1",9898);
ClientToServerMsg = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
readClientPrintMsg = new BufferedReader(new InputStreamReader(System.in));
serverToClientMsg = new BufferedReader(new InputStreamReader(socket.getInputStream()));
//输入信息
String readerConetnt;
//将我们输入的信息发送出去
while(!(readerConetnt=readClientPrintMsg.readLine()).equals("bye")){
// System.out.println(readerConetnt);
ClientToServerMsg.write(readerConetnt+"\n");
ClientToServerMsg.flush();
String serverToMsg = serverToClientMsg.readLine();
System.out.println(serverToMsg);
}
} catch (IOException e) {
e.printStackTrace();
} finally{
try {
//关闭流
socket.close();
ClientToServerMsg.close();
readClientPrintMsg.close();
serverToClientMsg.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
服务器端编写
服务器端实现功能主要是:发送消息,接收消息
package com.xiaoxin.socketServer;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class SocketServer {
/**
* Socket服务器
*/
private ServerSocket socket;
//接受信息
private BufferedReader clientToServerMsg;
//发送信息
private BufferedWriter serverToClientMsg;
private Socket client;
public static void main(String[] args) {
SocketServer server=new SocketServer();
server.startServer();
}
public void startServer(){
try {
//端口为9898
socket = new ServerSocket(9898);
System.out.println("服务器端启动");
//进入阻塞状态,等待客户端介入 ,返回一个socket对象
client = socket.accept();
System.out.println("客户端"+socket.hashCode()+"连接上");
clientToServerMsg = new BufferedReader(new InputStreamReader(client.getInputStream()));
serverToClientMsg = new BufferedWriter(new OutputStreamWriter(client.getOutputStream()));
String readermsg;
//一行一行读取赋值
while ((readermsg=clientToServerMsg.readLine())!=null) {
System.out.println(readermsg);
serverToClientMsg.write("服务器回复"+readermsg+"\n");
serverToClientMsg.flush();
}
} catch (IOException e) {
e.printStackTrace();
}finally{
try {
client.close();
clientToServerMsg.close();
socket.close();
serverToClientMsg.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
未完待续