- 授权协议: LGPL
- 开发语言: Java
- 操作系统: Linux
- 软件首页: http://code.google.com/p/juds
软件介绍
Java Unix Domain Sockets (JUDS) 提供了 Java 的方法用来访问 Unix domain sockets 套接字。
示例代码:
package com.google.code.juds.test;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import com.google.code.juds.*;
public class TestUnixDomainSocket {
public static void main(String[] args) throws IOException {
if (args.length != 1) {
System.out
.println("usage: java TestUnixDomainSocket socketfilename");
System.exit(1);
}
String socketFile = args[0];
byte[] b = new byte[128];
// Testcase 1.1: Test UnixDomainSocketClient with a stream socket
UnixDomainSocketClient socket = new UnixDomainSocketClient(socketFile,
UnixDomainSocket.SOCK_STREAM);
InputStream in = socket.getInputStream();
OutputStream out = socket.getOutputStream();
in.read(b);
System.out.println("Text received: \"" + new String(b) + "\"");
String text = "[2] Hello! I'm the client!";
out.write(text.getBytes());
System.out.println("Text sent: " + "\"" + text + "\"");
socket.close();
// Testcase 1.2: Test UnixDomainSocketClient with a datagram socket
socket = new UnixDomainSocketClient(socketFile,
UnixDomainSocket.SOCK_DGRAM);
System.out.println("Provoke and catch an "
+ "UnsupportedOperationException:");
try {
in = socket.getInputStream();
} catch (UnsupportedOperationException e) {
System.out.println("UnsupportedOperationException has been "
+ "thrown as expected.");
}
out = socket.getOutputStream();
text = "[3] Hello! I'm the client!";
out.write(text.getBytes());
System.out.println("Text sent: \"" + text + "\"");
socket.close();
// Testcase 2.1: Test UnixDomainSocketServer with a stream socket
System.out.println("\nTest #2: Test UnixDomainSocketServer\nTestcase "
+ "2.1: Test UnixDomainSocketServer with a stream socket...");
UnixDomainSocketServer ssocket = new UnixDomainSocketServer(socketFile,
UnixDomainSocket.SOCK_STREAM);
in = ssocket.getInputStream();
out = ssocket.getOutputStream();
in.read(b);
System.out.println("Text received: \"" + new String(b) + "\"");
text = "[5] Hello! I'm the server!";
out.write(text.getBytes());
System.out.println("Text sent: " + "\"" + text + "\"");
ssocket.close();
ssocket.unlink();
// Testcase 2.2: Test UnixDomainSocketServer with a datagram socket
System.out.println("Testcase 2.2: Test UnixDomainSocketServer with "
+ "a datagram socket...");
ssocket = new UnixDomainSocketServer(socketFile,
UnixDomainSocket.SOCK_DGRAM);
System.out.println("Provoke and catch an "
+ "UnsupportedOperationException:");
in = ssocket.getInputStream();
try {
out = ssocket.getOutputStream();
} catch (UnsupportedOperationException e) {
System.out.println("UnsupportedOperationException has been "
+ "thrown as expected.");
}
in.read(b);
System.out.println("Text received: \"" + new String(b) + "\"");
ssocket.close();
ssocket.unlink();
}
}
Python高效开发实战
刘长龙 / 电子工业出版社 / 2016-10 / 89
也许你听说过全栈工程师,他们善于设计系统架构,精通数据库建模、通用网络协议、后端并发处理、前端界面设计,在学术研究或工程项目上能独当一面。通过对Python及其周边Web框架的学习和实践,你就可以成为这样的全能型人才。 《Python高效开发实战——Django、Tornado、Flask、Twisted》分为3部分:第1部分是基础篇,带领初学者实践Python开发环境和掌握基本语法,同时对......一起来看看 《Python高效开发实战》 这本书的介绍吧!
