依旧是自己平时用到的一些东西的整理
Socket客户端:
public class SocketClient {
public static void main(String[] args) {
Socket socket = null;
OutputStream out = null;
InputStream in = null;
try {
socket = new Socket();
// connect and set timeout
socket.connect(new InetSocketAddress("127.0.0.1",8333), 2000);
in = socket.getInputStream();
out = socket.getOutputStream();
out.write("abcd".getBytes());
out.flush();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
in.close();
out.close();
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
Socket服务器端:
public class SocketServer {
public static void main(String[] args) {
try {
// 实例化sSocket,参数为端口号port
ServerSocket serverSocket = new ServerSocket(8333);
while (true) {
// 实例化Socket
Socket socket = serverSocket.accept();
// 新建线程TCPServer,并启动
new Thread(new ServerSocketTask(socket)).start();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
public class ServerSocketTask implements Runnable {
private Socket socket;
public ServerSocketTask(Socket socket) {
this.socket = socket;
}
@Override
public void run() {
// 定义输出流
OutputStream output = null;
// 定义输入流
InputStream input = null;
try {
// 初始化输入流
input = this.socket.getInputStream();
// 初始化输出流
output = socket.getOutputStream();
String message = null;
while (true) {
// 定义byte[]数组,大小为1024;
byte[] buf = new byte[1024];
// 从输入流中读取输入存入字节数组
int len = input.read(buf);
// 将字节数组转换成字符串
message = new String(buf,0,len);
//* 实际使用中这里要用System.arrayCopy把byte数组拼起来,判断到结束条件后再break
System.out.println(message);
// 向输出流写入SUCCESS返回给客户端
output.write("SUCCESS".getBytes());
// 输出流flush
output.flush();
// 跳出循环
break;
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
分享到:
相关推荐
Java基础知识:包括Java语言特性、面向对象编程、集合框架、异常处理等基础知识点。 数据库和SQL:涵盖数据库基础知识、SQL语句的编写和优化、数据库事务等相关内容。 Web开发:包括常用的Web开发框架(如Spring、...
JAVA核心知识点整理-282页 Java与哈希算法.docx Java中Lambda表达式的使用.docx JAVA多线程之线程间的通信方式.docx Java注解详解.docx Java线程池.docx JDK1.8Stream操作.docx JDK8有新特性.docx JVM堆三代.docx ...
学习笔记:整理了Java语言在游戏开发中的核心知识点和常用技术,方便你随时查阅和学习。 适用人群: 这份资源包适用于所有对Java游戏开发感兴趣的朋友,无论你是计算机专业的学生,还是希望业余时间尝试游戏开发的...
Socket [java] 网络套接字['sɒkit] stack n.堆栈 [stæk] (对应 heap 堆) statement 程序语句; 语句 ['steitmәnt]' n. 陈述,指令 subclass n.子类 ['sʌbklɑ:s]' (supertype 父类) switch (关键字) 选择语句。...
一、Java基础知识 1.Java有那些基本数据类型,String是不是基本数据类型,他们有何区别。 2.字符串的操作: 写一个方法,实现字符串的反转,如:输入abc,输出cba 写一个方法,实现字符串的替换,如:输入...
面试知识点简单汇总(自测) 招聘网站的一般要求汇总(面试造火箭系列): 具备开发高并发引擎能力 熟悉HTTP,TCP/IP等常用协议原理 熟悉Docker相关理念及核心技术 精通SQL和NoSQL数据库体系架构设计及高可用性解决...
总结介绍本次实训任务目标和内容,让学生有个概况的认识;复习强化相关知识;搜索整理相关资料,进行知识储备;学生形成自己的思路,根据共同点划分项目小组;熟练掌握TCP SOCKET编程技术;熟练掌握线程技术.
java课程设计指导书 课程设计指导书 前言 Java高级程序设计是计算机科学的基础理论知识,也是软件设计的技术基础。本课程 设计的性质是检验理论课学习的效果以及综合运用的能力,目的是训练学生进行复杂程 序设计的...
工作五年多了,一直没有仔细回顾过过去,正好现在将要离职时间比较空闲,整理一下android方面的知识点 另外点名批评有道云,我整理笔记三次丢失大量笔记,总计浪费我26个小时的时间,其实后边还有不少,但是第三...
传智播客认真钻研教学,对知识进行分类、整理、提炼精华,让学员在短时间内掌握ASP.Net技术。 ASP.Net中有一些技术是有局限性的,传智播客根据这些技术在企业中的实际应用情况进行了调整、补充。比如项目中几乎没有...
重新整理所有官方支持库的静态库,有望彻底解决链接时可能出现的符号冲突 5. 全面取消静态编译中的人为功能限制(此前有最多5个支持库同时参与静态链接等功能限制) 6. 公开易语言静态编译技术文档(参见sdk\...