非常简单的socket例子


www.diy567.com累了,去上面休息一下下,QQ空间,美文,非主流,网络日记,搞笑短信,祝福短信,热门短信,有意思啊

 

socket server类,接收请求

package com.wonder.socketexample;

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Date;

public class SocketServer {

ServerSocket serverSocket = null;
Socket socket = null;
DataInputStream inStream = null;
DataOutputStream outStream = null;

public SocketServer() {
try {
serverSocket = new ServerSocket(6600);
} catch (IOException e) {
e.printStackTrace();
}
}

public static void main(String[] args) {
SocketServer socketServer = new SocketServer();
socketServer.waitForClient();
}

public void waitForClient() {

try {
// 获取socket,设置inStream和outStream
socket = serverSocket.accept();

inStream = new DataInputStream(socket.getInputStream());
outStream = new DataOutputStream(socket.getOutputStream());
outStream.writeUTF("ready!");
//socket.setSoTimeout(3000);
// 接收和发送数据
acceptAndSendData();

} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

private void acceptAndSendData() {
boolean flag = true;

while (flag) {
try {
String acceptStr = inStream.readUTF();
System.out.println("客户端输入信息:" + acceptStr);

if ("exit".equals(acceptStr)) {
System.out.println("服务结束。");
break;
} else {
String sendStr = String.valueOf("服务器处理:"+new Date());
outStream.writeUTF(sendStr);
}
} catch (IOException e) {
e.printStackTrace();
break;
}
}

}

}

-----------------------------------------

socketclient例子,输入内容,然后发给socket ,exit退出

package com.wonder.socketexample;

import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.Socket;
import java.net.UnknownHostException;

public class SocketClient {

Socket socket = null;
DataInputStream inStream = null;
DataOutputStream outStream = null;

public SocketClient() {
try {
init();
waitData();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}

}

private void waitData() {
boolean flag = true;
while (flag) {
try {
String acceptStr = inStream.readUTF();
System.out.println("客户端接收到: " + acceptStr);
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
String str = "";
while (str != null) {
System.out.print("> prompt ");
str = in.readLine();
if("exit".equals(str)){
System.out.println("系统退出。");
outStream.writeUTF(str);
return;
}
outStream.writeUTF(str);
}
} catch (Exception e) {
e.printStackTrace();
break;
}

}

}

private void init() throws UnknownHostException, IOException {
socket = new Socket("127.0.0.1", 6600);
inStream = new DataInputStream(socket.getInputStream());
outStream = new DataOutputStream(socket.getOutputStream());
//socket.setSoTimeout(3000);
}

public static void main(String[] args) {
SocketClient client = new SocketClient();
}

}

你可能感兴趣的:(java,.net,qq,socket)