Socket编程(一)
来源:互联网 发布:网络推广公司赚钱吗 编辑:程序博客网 时间:2024/04/29 16:34
Socket编程
一个简单的client,可以向sever发送GET命令,并得到sever返回的网页,这里以百度为例。
直接把代码拷过去运行就可以。并把sever返回的(HTML)文件保存到c盘
import java.io.*;
import java.net.*;public class Client {
public static void main(String[] args) throws IOException {
Socket clientSocket = new Socket("www.baidu.com", 80);
BufferedReader readFromSocket = new BufferedReader(
new InputStreamReader(clientSocket.getInputStream()));
PrintWriter writeToSocket = new PrintWriter(
clientSocket.getOutputStream(), true);
// PrintWriter它可以将Java的基本数据类型等数据,直接转换为系统默认编码下对应的字符,再输出
//第二个参数主要是说字节流要刷新
//如果没有第二个参数true,下面加上 writeToSocket.flush();刷新
String str = "GET / HTTP/1.0\r\n";
//str是写给sever的GET命令
writeToSocket.println(str);
// writeToSocket.flush();
String readStr = readFromSocket.readLine();
//读出sever返回的第一行文件
File f = new File("C:/test.txt");
while (readStr != null) {
System.out.println(readStr);
writeToFile(readStr, f);
readStr = readFromSocket.readLine();
}
}
/**
*
* @param String
* str 把sever的响应写入文件
*/
public static void writeToFile(String str, File f) {
BufferedOutputStream bos = null;
OutputStreamWriter writer = null;
BufferedWriter bw = null;
try {
OutputStream os = new FileOutputStream(f);
bos = new BufferedOutputStream(os);
writer = new OutputStreamWriter(bos);
bw = new BufferedWriter(writer);
bw.write(str);
bw.flush();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
- Socket编程(一)
- Socket编程(一)
- socket编程(一)
- Socket 编程(一)
- socket编程(一)
- socket编程(一)
- socket编程(一)
- Java Socket编程(一)
- Java Socket编程(一)
- Java Socket编程(一)
- socket编程原理(一)
- java Socket编程(一)
- python Socket编程(一)
- java socket编程(一)
- Socket编程基础(一)
- java socket编程(一)
- java socket编程(一)
- java socket 编程(一)
- ZOJ 3728 Collision 计算几何
- jQuery autocomplete 处理json 返回值形式的demo
- VS2012新建cocos2dx项目,出现无法打开包括文件CCstdC.h等**.h之类的问题
- 黑马程序员---java 枚举类型
- “error PRJ0050: 未能注册输出。请确保您有修改注册表的相应权限”的解决办法
- Socket编程(一)
- 对抽象工厂+反射+配置文件的实例理解
- 好用的在线UI作图工具:ProcessOn
- 读取注册表值
- 如何下载android.jar源代码和设置android.jar在eclipse中的源代码目录
- 类属性的存取方法以及类的协议
- Memcached 集群架构方面的问题
- ARP协议详解
- 把一个文件复制到另一个文件下