最終更新
役に立ちましたか?
Javaで実装された Socket.IO サーバー。リアルタイム Java フレームワーク
最初のサーバーは最も簡単なステップのはずです。明確に定義されたエンドポイントとコピー&ペースト可能な例により、セットアップは迅速で予測可能です。 ゼロから動作する接続まで数分で。
Discord コミュニティに参加するか、数ステップで最初の PR を作成してください。
Discord コミュニティ
7,000人以上の志を同じくする好奇心旺盛な開発者コミュニティと共に、質問を投稿したり、支援を受けたり、リソースを共有したりするために Discord コミュニティに参加してください。
最終更新
役に立ちましたか?
//package com.socketio4j.examples.core;
import com.socketio4j.socketio.Configuration;
import com.socketio4j.socketio.SocketIOServer;
import com.socketio4j.socketio.SocketIOClient;
public final class BasicServer {
public static void main(String[] args) {
Configuration config = new Configuration();
config.setHostname("0.0.0.0");
config.setPort(9092);
SocketIOServer server = new SocketIOServer(config);
server.addConnectListener(client -> {
System.out.println("Connected: " + client.getSessionId());
// クエリパラメータ経由でルームに参加: ?room=room1、必要に応じてルームメンバーシップを確認
String room = client.getHandshakeData()
.getSingleUrlParam("room");
if (room != null) {
client.joinRoom(room);
System.out.println("Joined room: " + room);
}
});
server.addDisconnectListener(client ->
System.out.println("Disconnected: " + client.getSessionId())
);
server.addEventListener(
"message",
String.class,
(SocketIOClient client, String data, var ack) -> {
System.out.println("Received: " + data);
// すべてのクライアントへブロードキャスト
server.getBroadcastOperations()
.sendEvent("message", data);
ack.sendAckData("ok");
}
);
server.start();
System.out.println("SocketIO4J server started on :9092");
Runtime.getRuntime().addShutdownHook(
new Thread(server::stop)
);
}
}//package com.socketio4j.examples.core;
import io.socket.client.IO;
import io.socket.client.Socket;
import java.net.URISyntaxException;
import java.util.Collections;
public class SocketIoClient {
public static void main(String[] args) throws URISyntaxException {
IO.Options options = new IO.Options();
options.query = "room=room1";
options.forceNew = true;
Socket socket = IO.socket("http://localhost:9092", options);
socket.on(Socket.EVENT_CONNECT, args1 -> {
System.out.println("Connected: " + socket.id());
socket.emit("message", "Hello from Java");
});
socket.on("message", args1 ->
System.out.println("Received: " + args1[0])
);
socket.connect();
}
}
import { io } from "socket.io-client";
const socket = io("http://localhost:9092", {
query: { room: "room1" }
});
socket.on("connect", () => {
console.log("Connected:", socket.id);
socket.emit("message", "Hello from Node.js");
});
socket.on("message", (data) => {
console.log("Received:", data);
});
import 'package:socket_io_client/socket_io_client.dart' as IO;
void main() {
IO.Socket socket = IO.io(
'http://localhost:9092',
IO.OptionBuilder()
.setQuery({'room': 'room1'})
.setTransports(['websocket'])
.build(),
);
socket.onConnect((_) {
print('Connected: ${socket.id}');
socket.emit('message', 'Hello from Dart');
});
socket.on('message', (data) {
print('Received: $data');
});
}
import SocketIO
let manager = SocketManager(
socketURL: URL(string: "http://localhost:9092")!,
config: [.log(true), .connectParams(["room": "room1"])]
)
let socket = manager.defaultSocket
socket.on(clientEvent: .connect) { _, _ in
print("Connected:", socket.sid ?? "")
socket.emit("message", "Hello from Swift")
}
socket.on("message") { data, _ in
print("Received:", data[0])
}
socket.connect()
<script src="https://cdn.socket.io/4.7.5/socket.io.min.js"></script>
<script>
const socket = io("http://localhost:9092", {
query: { room: "room1" }
});
socket.on("connect", () => {
console.log("Connected:", socket.id);
socket.emit("message", "Hello from Browser");
});
socket.on("message", (data) => {
console.log("Received:", data);
});
</script>
import socketio
sio = socketio.Client()
@sio.event
def connect():
print("Connected:", sio.sid)
sio.emit("message", "Hello from Python")
@sio.on("message")
def on_message(data):
print("Received:", data)
sio.connect("http://localhost:9092?room=room1")
sio.wait()
using SocketIOClient;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
var client = new SocketIO("http://localhost:9092", new SocketIOOptions
{
Query = new[] {
new KeyValuePair<string, string>("room", "room1")
}
});
client.OnConnected += async (sender, e) =>
{
Console.WriteLine($"Connected: {client.Id}");
await client.EmitAsync("message", "Hello from C#");
};
client.On("message", response =>
{
Console.WriteLine("Received: " + response.GetValue<string>());
});
await client.ConnectAsync();
await Task.Delay(-1);
}
}
package main
import (
"fmt"
socketio "github.com/zhouhui8915/go-socket.io-client"
)
func main() {
opts := &socketio.Options{
Query: map[string]string{
"room": "room1",
},
}
client, err := socketio.NewClient("http://localhost:9092", opts)
if err != nil {
panic(err)
}
client.On("connect", func() {
fmt.Println("Connected")
client.Emit("message", "Hello from Go")
})
client.On("message", func(msg string) {
fmt.Println("Received:", msg)
})
select {}
}
use rust_socketio::{ClientBuilder, Payload};
fn main() {
let client = ClientBuilder::new("http://localhost:9092")
.query("room", "room1")
.on("connect", |_, _| {
println!("Connected");
})
.on("message", |payload, _| {
if let Payload::String(msg) = payload {
println!("Received: {}", msg);
}
})
.connect()
.expect("Connection failed");
client.emit("message", "Hello from Rust").unwrap();
loop {}
}


