java 记录一下socket的server与clien
来源:互联网 发布:a股进msci的意义 知乎 编辑:程序博客网 时间:2024/04/30 06:14
t
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package
com.test.server;
import
java.io.IOException;
import
java.net.ServerSocket;
import
org.apache.log4j.Logger;
public
class
Server{
private
static
final
Logger logger = Logger.getLogger(Server.
class
);
public
static
ServerSocket server =
null
;
static
{
try
{
server =
new
ServerSocket(
5678
);
}
catch
(IOException e) {
logger.error(
"Server set up error: "
, e);
}
}
public
static
void
stop(){
if
(server !=
null
){
try
{
server.close();
}
catch
(IOException e) {
logger.error(
"Server close error: "
, e);
}
}
}
public
static
void
main(String[] args) {
Server.stop();
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
package
com.test.server;
import
java.io.BufferedReader;
import
java.io.IOException;
import
java.io.InputStreamReader;
import
java.io.OutputStreamWriter;
import
java.io.Writer;
import
java.net.Socket;
import
org.apache.log4j.Logger;
public
class
ServerThread
implements
Runnable {
private
static
final
Logger logger = Logger.getLogger(ServerThread.
class
);
private
Socket socket;
public
ServerThread(Socket socket) {
this
.socket = socket;
}
@Override
public
void
run() {
// String line;
BufferedReader is =
null
;
Writer writer =
null
;
if
(socket ==
null
) {
logger.error(
"Server down!"
);
return
;
}
StringBuilder sb =
new
StringBuilder();
try
{
is =
new
BufferedReader(
new
InputStreamReader(socket.getInputStream()));
String temp;
int
index;
temp = is.readLine();
System.out.println(
"line is: "
+ temp);
while
(temp !=
null
) {
System.out.println(temp);
if
((index = temp.indexOf(
"eof"
)) != -
1
) {
// 遇到eof时就结束接收
sb.append(temp.substring(
0
, index));
break
;
}
sb.append(temp);
temp = is.readLine();
}
// logger.info(sb.toString());
System.out.println(sb.toString());
writer =
new
OutputStreamWriter(socket.getOutputStream());
writer.write(
"Hello Client."
);
writer.write(
"eof\n"
);
writer.flush();
}
catch
(IOException e) {
logger.error(
"Read information error: "
, e);
}
finally
{
try
{
if
(is !=
null
) {
is.close();
}
if
(writer !=
null
) {
writer.close();
}
if
(socket !=
null
) {
socket.close();
}
}
catch
(IOException e) {
logger.error(
"Close the IO session error: "
, e);
}
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package
com.test.server;
import
java.io.IOException;
import
java.net.Socket;
import
org.apache.log4j.Logger;
public
class
SocketServer {
private
static
final
Logger logger = Logger.getLogger(SocketServer.
class
);
public
void
connect() {
try
{
while
(
true
) {
Socket socket = Server.server.accept();
// socket.getRemoteSocketAddress();
new
Thread(
new
ServerThread(socket)).start();
}
}
catch
(IOException e) {
logger.error(
"Server set up error: "
, e);
}
}
public
static
void
main(String[] args) {
SocketServer ss =
new
SocketServer();
ss.connect();
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
package
com.test.client;
import
java.io.BufferedReader;
import
java.io.IOException;
import
java.io.InputStreamReader;
import
java.io.OutputStreamWriter;
import
java.io.Writer;
import
java.net.Socket;
import
java.net.UnknownHostException;
import
org.apache.log4j.Logger;
public
class
SocketClient {
private
static
final
Logger logger = Logger.getLogger(SocketClient.
class
);
public
void
client() {
Socket client =
null
;
BufferedReader is =
null
;
Writer writer =
null
;
try
{
client =
new
Socket(
"172.16.13.41"
,
5678
);
writer =
new
OutputStreamWriter(client.getOutputStream());
writer.write(
"Hello Server."
);
writer.write(
"eof\n"
);
writer.flush();
is =
new
BufferedReader(
new
InputStreamReader(client.getInputStream()));
StringBuffer sb =
new
StringBuffer();
String temp;
int
index;
while
((temp = is.readLine()) !=
null
) {
if
((index = temp.indexOf(
"eof"
)) != -
1
) {
sb.append(temp.substring(
0
, index));
break
;
}
sb.append(temp);
}
// logger.info(sb.toString());
System.out.println(sb.toString());
}
catch
(UnknownHostException e) {
e.printStackTrace();
}
catch
(IOException e) {
e.printStackTrace();
}
finally
{
try
{
if
(is !=
null
) {
is.close();
}
if
(writer !=
null
) {
writer.close();
}
if
(client !=
null
) {
client.close();
}
}
catch
(IOException e) {
logger.error(
"Close the IO session error: "
, e);
}
}
}
public
static
void
main(String[] args) {
SocketClient sc =
new
SocketClient();
sc.client();
}
}
0 0
- java 记录一下socket的server与clien
- server端和clien端关于getsockname和getpeername函数的用法
- 记录一下socket中常见的TCP设置
- 记录一下clipstobounds与maskstobounds的区别
- 记录一下glide与Imageloader的区别。
- 剑走偏锋的 Native Clien
- 平时的一下记录
- 小小的记录一下
- Java Socket 简单的Client/Server程序
- Java Socket 简单的Client/Server程序
- Java Socket 简单的Client/Server程序
- 记录一下DialogFragment的满屏显示与对话框显示
- 记录一下页面与客户端交互的心酸
- 记录一下 Spring 如何扫描注解的 Bean 与资源
- Elasticsearch JAVA API和JAVA REST Clien比较
- 记录一下今儿的java笔试题编程
- 就记录一下自己学习Java的进程
- 记录一下java windows和linux下的环境变量配置
- oracle数据库cpu使用率高
- 【Android入门】WebService和Web Service的区别
- 前端为啥要用javascript框架
- 计算字符串的相似度
- mysql-bin日志文件过大导致磁盘空间不足问题解决方法
- java 记录一下socket的server与clien
- 灯液未泱-mysql初学安装(一)
- java.sql.SQLException: Connection is closed
- [转]KAGGLE ENSEMBLING GUIDE
- fcitx日语输入法添加
- linux和win7下的软链接和硬链接
- java 数字处理与位运算
- 第12章-图形用户接口
- Spring 系列: Spring 框架简介