java socket 示例代码
2010-04-12 14:15
507 查看
示例1:
//-------- test\Land\Client.java --------
package test.Land;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.Socket;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
public class Client {
public static void main(String[] args) throws Exception {
test();
}
public static void test() throws Exception {
Socket socket = new Socket("localhost", 9999);
// 发送请求
Document doc = DocumentHelper.createDocument();
Element root = doc.addElement("Class");
Element type = root.addElement("Types");
Element classes = root.addElement("Classes");
Element function = classes.addElement("FunctionLanding");
type.addAttribute("type", "String").addText("LandConn");
classes.addAttribute("name", "SQLParse");
function.addAttribute("name", "LandDemo");
function.addElement("IPparam").addAttribute("type", "String").addText("ClientIP");
function.addElement("LNparam").addAttribute("type", "String").addText("ClientName");
function.addElement("ANparam").addAttribute("type", "String").addText("ClientAccountNumber");
function.addElement("PWparam").addAttribute("type", "String").addText("ClientPassWord");
function.addElement("Fparam").addAttribute("type", "String").addText("Lflag");
// 是否有缩进
String indent = " ";
// 是否产生新行(即一行一个元素)
boolean newline = true;
XMLWriter writer = new XMLWriter(socket.getOutputStream(), new OutputFormat(indent, newline, "gb2312"));
writer.write(doc);
writer.flush();
System.out.println("发送完毕");
// 接收响应
BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
StringBuffer sb = new StringBuffer();
String line;
// 接收数据,直至 socket 被对方 close(或者 shutdownOutput)
while ((line = br.readLine()) != null) {
sb.append(line);
}
System.out.println("接收到的内容: " + sb.toString());
socket.close();
}
}
//-------- test\Land\Server.java --------
package test.Land;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
public class Server {
public static void main(String[] args) throws Exception {
test();
}
public static void test() throws IOException {
ServerSocket ss = new ServerSocket(9999);
Socket socket = ss.accept();
BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
StringBuffer sb = new StringBuffer();
String line = null;
// 接收数据,直至收到一行 "</Class>"
while (!"</Class>".equals(line = br.readLine())) {
sb.append(line);
}
sb.append("</Class>");
System.out.println("接收到的内容: " + sb.toString());
// 返回信息
Document doc = DocumentHelper.createDocument();
Element root = doc.addElement("Class");
Element incept = root.addElement("incept");
incept.addAttribute("type", "boolean").addText(String.valueOf(true));
String lint = " ";
boolean newline = true;
XMLWriter writer = new XMLWriter(socket.getOutputStream(), new OutputFormat(lint, newline, "gb2312"));
writer.write(doc);
writer.flush();
System.out.println("发送完毕");
socket.close();
ss.close();
}
}
示例2:
String ip = "172.31.1.130";
ip = "127.0.0.1";
int port = 10004;
try {
Socket socket = new Socket(ip, port);
socket.setSoTimeout(5539900);
java.io.OutputStream out = socket.getOutputStream();
byte[] date = "hello world".getBytes();
out.write(data);
out.flush();
socket.shutdownOutput();
byte[] buffer = new byte[1024];
int len = -1;
java.io.FileOutputStream fout = new java.io.FileOutputStream(
"d:/response.xml");
java.io.ByteArrayOutputStream bout = new java.io.ByteArrayOutputStream();
java.io.InputStream in = socket.getInputStream();
while ((len = in.read(buffer, 0, buffer.length)) > 0) {
bout.write(buffer, 0, len);
}
in.close();
bout.flush();
bout.close();
byte[] rdata = bout.toByteArray();
// System.out.println("leen = " + (rdata.length - 32));
System.out.println(new String(rdata));
fout.write(rdata);
fout.flush();
fout.close();
socket.close();
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
服务器端的
ServerSocket ss = new ServerSocket(8090);
Socket socket=null;
BufferedReader in;
PrintWriter out;
while (true)
{
socket = ss.accept();
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
out = new PrintWriter(socket.getOutputStream(),true);
String line = in.readLine();
out.println("you input is :" + line);
out.close();
in.close();
socket.close();
}
//-------- test\Land\Client.java --------
package test.Land;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.Socket;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
public class Client {
public static void main(String[] args) throws Exception {
test();
}
public static void test() throws Exception {
Socket socket = new Socket("localhost", 9999);
// 发送请求
Document doc = DocumentHelper.createDocument();
Element root = doc.addElement("Class");
Element type = root.addElement("Types");
Element classes = root.addElement("Classes");
Element function = classes.addElement("FunctionLanding");
type.addAttribute("type", "String").addText("LandConn");
classes.addAttribute("name", "SQLParse");
function.addAttribute("name", "LandDemo");
function.addElement("IPparam").addAttribute("type", "String").addText("ClientIP");
function.addElement("LNparam").addAttribute("type", "String").addText("ClientName");
function.addElement("ANparam").addAttribute("type", "String").addText("ClientAccountNumber");
function.addElement("PWparam").addAttribute("type", "String").addText("ClientPassWord");
function.addElement("Fparam").addAttribute("type", "String").addText("Lflag");
// 是否有缩进
String indent = " ";
// 是否产生新行(即一行一个元素)
boolean newline = true;
XMLWriter writer = new XMLWriter(socket.getOutputStream(), new OutputFormat(indent, newline, "gb2312"));
writer.write(doc);
writer.flush();
System.out.println("发送完毕");
// 接收响应
BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
StringBuffer sb = new StringBuffer();
String line;
// 接收数据,直至 socket 被对方 close(或者 shutdownOutput)
while ((line = br.readLine()) != null) {
sb.append(line);
}
System.out.println("接收到的内容: " + sb.toString());
socket.close();
}
}
//-------- test\Land\Server.java --------
package test.Land;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
public class Server {
public static void main(String[] args) throws Exception {
test();
}
public static void test() throws IOException {
ServerSocket ss = new ServerSocket(9999);
Socket socket = ss.accept();
BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
StringBuffer sb = new StringBuffer();
String line = null;
// 接收数据,直至收到一行 "</Class>"
while (!"</Class>".equals(line = br.readLine())) {
sb.append(line);
}
sb.append("</Class>");
System.out.println("接收到的内容: " + sb.toString());
// 返回信息
Document doc = DocumentHelper.createDocument();
Element root = doc.addElement("Class");
Element incept = root.addElement("incept");
incept.addAttribute("type", "boolean").addText(String.valueOf(true));
String lint = " ";
boolean newline = true;
XMLWriter writer = new XMLWriter(socket.getOutputStream(), new OutputFormat(lint, newline, "gb2312"));
writer.write(doc);
writer.flush();
System.out.println("发送完毕");
socket.close();
ss.close();
}
}
示例2:
String ip = "172.31.1.130";
ip = "127.0.0.1";
int port = 10004;
try {
Socket socket = new Socket(ip, port);
socket.setSoTimeout(5539900);
java.io.OutputStream out = socket.getOutputStream();
byte[] date = "hello world".getBytes();
out.write(data);
out.flush();
socket.shutdownOutput();
byte[] buffer = new byte[1024];
int len = -1;
java.io.FileOutputStream fout = new java.io.FileOutputStream(
"d:/response.xml");
java.io.ByteArrayOutputStream bout = new java.io.ByteArrayOutputStream();
java.io.InputStream in = socket.getInputStream();
while ((len = in.read(buffer, 0, buffer.length)) > 0) {
bout.write(buffer, 0, len);
}
in.close();
bout.flush();
bout.close();
byte[] rdata = bout.toByteArray();
// System.out.println("leen = " + (rdata.length - 32));
System.out.println(new String(rdata));
fout.write(rdata);
fout.flush();
fout.close();
socket.close();
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
服务器端的
ServerSocket ss = new ServerSocket(8090);
Socket socket=null;
BufferedReader in;
PrintWriter out;
while (true)
{
socket = ss.accept();
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
out = new PrintWriter(socket.getOutputStream(),true);
String line = in.readLine();
out.println("you input is :" + line);
out.close();
in.close();
socket.close();
}
相关文章推荐
- Java Socket Server-client端多线程处理代码示例
- Java Socket编程详解及示例代码
- android客户端和java服务端之间用socket来传输图片(示例代码)
- Java Socket长连接示例代码
- android客户端和java服务端之间用socket来传输图片(示例代码)
- ZMQ.Socket JAVA 代码示例
- Java多线程编程实现socket通信示例代码
- java 二维码的生成与解析示例代码
- Java随机生成身份证完整示例代码
- Android中Java和JavaScript交互代码示例3以及常见问题
- Java 实现金额转换 代码示例
- java读取csv文件内容示例代码
- 一段socket代码示例
- kafka生产者与消费者java代码示例
- Java设计模式及示例代码
- JAVA代码发送邮件示例和解释
- Java进行I/O操作时正确关闭I/O流的代码示例
- Java中普通代码块,构造代码块,静态代码块区别及代码示例
- 0038 Java学习笔记-多线程-传统线程间通信、Condition、阻塞队列、《疯狂Java讲义 第三版》进程间通信示例代码存在的一个问题
- 简单的java socket 示例