java socket编程 初级 服务器端和客户端 通信
package server; import java.io.DataOutputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.text.SimpleDateFormat;
import java.util.Calendar; public class Server { public Server() { } public static void main(String[] args) {
Server manager = new Server();
manager.doListen();
} public void doListen() {
ServerSocket server;
try {
server = new ServerSocket(9991);
System.out.println("server 启动!"); Socket client = server.accept();
new Thread(new SSocket(client)).start();
} catch (IOException e) {
e.printStackTrace();
} } // 服务器进程
class SSocket implements Runnable { Socket client; public SSocket(Socket client) {
this.client = client;
} public void run() {
DataOutputStream output = null;
try {
output = new DataOutputStream(client.getOutputStream());
} catch (IOException e1) {
e1.printStackTrace();
}
while (true) {
try {
output.writeBytes("hi !\r\n");
String ly_time = new SimpleDateFormat("HH:mm:ss").format(Calendar.getInstance().getTime());
System.out.println(ly_time +" 发送: hi ! ");
} catch (IOException e) {
e.printStackTrace();
} try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
} }
Client
package client; import java.io.DataInputStream;
import java.io.IOException;
import java.net.Socket;
import java.net.SocketException;
import java.net.UnknownHostException;
import java.text.SimpleDateFormat;
import java.util.Calendar; public class Client { public static void main(String[] args) {
Socket socket = null;
try { socket = new Socket("127.0.0.1", 9991);
socket.setSoTimeout(5000);
System.out.println("Client 已连接");
} catch (UnknownHostException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
DataInputStream in = null;
while (true) {
try {
in = new DataInputStream(socket.getInputStream());
String res = in.readLine();
String ly_time = new SimpleDateFormat("HH:mm:ss").format(Calendar.getInstance().getTime());
System.out.println(ly_time+" 接受:"+res);
} catch (SocketException e) {
System.out.println("SocketException ::::"+e.getMessage());
} catch (IOException e) {
e.printStackTrace();
}
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
java socket编程 初级 服务器端和客户端 通信的更多相关文章
- python 学习笔记_2 模拟socket编程 服务端、客户端通信(参考核心编程2代码实现)
服务器端代码实现: #!/usr/bin/env python#coding=gbk'''接收客户端字符串,在字段串前面打上当前时间,然后返回server端采用 python2 linux下调试运行客 ...
- Java Socket编程题库
一. 填空题 ___ IP地址____用来标志网络中的一个通信实体的地址.通信实体可以是计算机,路由器等. 统一资源定位符URL是指向互联网"资源"的指针,由4部分组成:协议 ...
- Java基础:三步学会Java Socket编程
Java基础:三步学会Java Socket编程 http://tech.163.com 2006-04-10 09:17:18 来源: java-cn 网友评论11 条 论坛 第一步 ...
- 如何为可扩展系统进行Java Socket编程
从简单I/O到异步非阻塞channel的Java Socket模型演变之旅 上世纪九十年代后期,我在一家在线视频游戏工资工作,在哪里我主要的工作就是编写Unix Unix Berkley Socket ...
- Java Socket编程基础篇
原文地址:Java Socket编程----通信是这样炼成的 Java最初是作为网络编程语言出现的,其对网络提供了高度的支持,使得客户端和服务器的沟通变成了现实,而在网络编程中,使用最多的就是Sock ...
- Java Socket编程(转)
Java Socket编程 对于Java Socket编程而言,有两个概念,一个是ServerSocket,一个是Socket.服务端和客户端之间通过Socket建立连接,之后它们就可以进行通信了.首 ...
- 转:Java Socket编程
对于Java Socket编程而言,有两个概念,一个是ServerSocket,一个是Socket.服务端和客户端之间通过Socket建立连接,之后它们就可以进行通信了.首先ServerSocket将 ...
- Java Socket编程详细解说
Java Socket编程 JavaSocketServerSocket乱码超时 Java Socket编程 对于Java Socket编程而言,有两个概念,一个是ServerSocket,一个是So ...
- 20182332 实验四《Java Socket编程 》实验报告
20182332 实验肆<数据结构与面向对象程序设计>实验报告 课程:<程序设计与数据结构> 班级: 1823 姓名: 盛国榕 学号:20182332 实验教师:王志强 实验日 ...
随机推荐
- 与众不同 windows phone (33) - Communication(通信)之源特定组播 SSM(Source Specific Multicast)
原文:与众不同 windows phone (33) - Communication(通信)之源特定组播 SSM(Source Specific Multicast) [索引页][源码下载] 与众不同 ...
- KMP(Knuth-Morris-Pratt)算法
一.朴素匹配算法 也就是暴力匹配算法.设匹配字符串的长度为n,模式串的长度为m,在最坏情况下,朴字符串匹配算法执行时间为O((n - m + 1)m). 假设m = n / 2, 那么该算法的复杂度就 ...
- FindWindowEx使用方法
函数功能:该函数获得一个窗体的句柄,该窗体的类名和窗体名与给定的字符串相匹配.这个函数查找子窗体,从排在给定的子窗体后面的下一个子窗体開始.在查找时不区分大写和小写. 函数原型:HWND FindWi ...
- JAVA网络爬虫WebCollector深度解析——爬虫内核
WebCollector爬虫官网:https://github.com/CrawlScript/WebCollector 技术讨论群:250108697 怎样将爬虫内核导入自己的项目? 1.进入爬虫官 ...
- 24位和8位BMP图片保存纯C代码
BMP图片大家都知道,可以通过查看BMP图片结构使用纯C就可以打开,编辑,处理,保存图片.非常方便使用. 具体BMP结构可以参考:wingdi.h头文件.今天主要在进行删减代码,需要把多余的代码删除, ...
- leetcode day6 -- String to Integer (atoi) && Best Time to Buy and Sell Stock I II III
1. String to Integer (atoi) Implement atoi to convert a string to an integer. Hint: Carefully con ...
- expression:stream!=NULL
如果fopen()后返回的是NULL:就不能调用fclose()了: 用fopen()获得的文件句柄不是NULL,那么就需要用fclose()来关闭它.如果是NULL则不需要 null就表示你打开文件 ...
- SICP 解题集 — SICP 解题集
SICP 解题集 — SICP 解题集 SICP 解题集¶ 这个文档的目标是成为中文化的.完整的<计算机程序的构造和解释>一书的解题集. 这个解题集的特色是: 对于每道习题,除了习题答案之 ...
- ad nbetmk57
http://www.zhihu.com/collection/24337307 http://www.zhihu.com/collection/24337259 http://www.zhihu.c ...
- 你的App为什么上不了TOP10?
App市场风起云涌.但是,却仅仅有少数几个App能成为"暴发户",很多其它的则沉淀在应用商店中无人问津. 在移动互联网时代.智能手机成为了中心. 手机之所以智能.就在于手机上 ...