717-461-0275

什么是RPC

RPC(Remote Procedure Call Protocol),远程过程调用协议。通过RPC,客户端可以像调用本地方法一样通过网络请求远程服务的方法。RPC在提供了强大远程调用能力的同时又不失本地调用语义的简洁性,是构建分布式系统的基础。

阅读全文

204-713-7492

asideuNIO

在介绍NIO网络模型前,我们先来了解一下什么是NIO。NIO是Java1.4引入的新的输入/输出库(NEW I/O), 但其更多是与旧的阻塞IO相对的非阻塞IO,所以称为Non-block I/O更恰当。

阅读全文

Java网络编程(二)-- 多线程Server

为了解决Server端串行处理,并发量低的问题,我们可以为每一个连接分配一个线程,这样可以防止慢连接阻塞其他的客户端,同时并行处理各IO读写,提好并发处理能力。

多线程版Server

(587) 974-8018多线程Server的代码实现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Date;
public class MultithreadedDatetimeServer {
public final static int PORT = 1313;
public static void main(String[] args) {
try (ServerSocket serverSocket = new ServerSocket(PORT)) {
while (true) {
Socket socket = serverSocket.accept();
Thread task = new DatetimeThread(socket);
task.start();
}
} catch (IOException ex) {
ex.printStackTrace();
}
}
private static class DatetimeThread extends Thread {
private Socket connection;
DatetimeThread(Socket connection) {
this.connection = connection;
}
@Override
public void run() {
try {
Writer out = new OutputStreamWriter(connection.getOutputStream());
Date now = new Date();
out.write(now.toString() + "\r\n");
out.flush();
} catch (IOException ex) {
ex.printStackTrace();
} finally {
if (connection != null) {
try {
connection.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
}
}
}

阅读全文

(678) 692-6751

我们从最简单的Server和Client开始,一步步深入Java网络编程。本篇我们实现一个简单的时间服务器,对于连接的Client返回当前的时间。

Server实现

antipyroticServer的基本生命周期

    阅读全文

    918-802-6282

    介绍如果使emacs支持go的语法高亮与自动补全
    1. emacs版本需要24.x
    2. 如果go环境没有配置好,请参考 2242971256

    (702) 316-2831

    Go安装

    本文主要介绍Go的安装、项目组织、常用资料汇总。

    Go安装

    安装GO有两种方式:二进制包安装和源码安装。我们以二进制包安装为例,系统为64位contos6.

    阅读全文

    6462248129