1、服务器端
import java.io.DataOutputStreamimport java.io.IOException
import java.net.ServerSocket
import java.net.Socket
public class SocketServer {
private static final int PORT = 8088
public static void main(String[] args) {
ServerSocket server = null
try {
server = new ServerSocket(PORT)
while (true) {
Socket client = server.accept()
new Thread(new Server(client)).start()
}
} catch (IOException e) {
e.printStackTrace()
}
}
}
class Server implements Runnable {
private Socket client
public Server(Socket client) {
this.client = client
}
public void run() {
DataOutputStream output = null
try {
output = new DataOutputStream(client.getOutputStream())
output.writeUTF("你好我是服务器")
} catch (IOException e) {
e.printStackTrace()
} finally {
try {
if (output != null) output.close()
output = null
} catch (IOException e) {}
}
}
}
2、客户端
import java.io.DataInputStreamimport java.io.IOException
import java.net.Socket
import java.net.UnknownHostException
public class Client extends Socket {
private static final int PORT = 8088
public static void main(String[] args) {
Socket socket = null
try {
socket = new Socket("127.0.0.1", PORT)
DataInputStream in = new DataInputStream(socket.getInputStream())
String res = in.readUTF()
System.out.println(res)
if (in != null) in.close()
} catch (UnknownHostException e) {
e.printStackTrace()
} catch (IOException e) {
e.printStackTrace()
} finally {
if (socket != null) {
try {
socket.close()
} catch (IOException e) {}
}
}
}
}
我只介绍思路:使用websocket创建ws服务器,nat123解析一个地址,分配一个端口给他用,发布到外网。
客户端拨通地址 登陆 接入websocket服务,心跳机制要做好,上下线掉线更新列表,注册存储用户信息,更新用户列表。
客户端可以发起群聊、私聊、收发文件、分享,甚至发送服务器消息,然后反馈消息,响应远程服务事件。
这就是一个聊天软件所做的事情,我介绍websocket可以响应多平台,多端通信。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)