资源简介

基于TCP的Socket编程服务器和客户端代码

资源截图

代码片段和文件信息



import java.io.IOException;
import java.io.OutputStream;
import java.net.Socket;
import java.net.UnknownHostException;

import org.json.JSONobject;


public class File_client {
public static void main(String[] args) throws Exception {
Socket clientSocket = onOpen();
if(null!=clientSocket){//连接建立
JSONobject jsonData = new JSONobject(Constants.onData());
if(onSend(clientSocket jsonData.toString().getBytes())){
onMessage(clientSocketjsonData.toString().getBytes());//接受服务器数据返回信息-
onClose(clientSocket);
}
}
}
//打开连接
public static Socket onOpen(){
System.out.println(“onOpen..........“);
Socket clientSocket = null;
try {
clientSocket = new Socket(“localhost“ 6789);
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return clientSocket;
}
//消息处理->接受服务器传回数据
public static String onMessage(Socket clientSocketbyte[] jsonData) throws Exception {
System.out.println(“onMessage..........“);

// InputStreamReader isr = new InputStreamReader(clientSocket.getInputStream());
// BufferedReader inFromServer = new BufferedReader(isr);
// String inData = inFromServer.readLine();
// System.out.println(“接受服务器响应数据:“+inData);
// clientSocket.getOutputStream();
// int totalByteRcvd = 0;
// int byteRcvd;
// try {
// while (totalByteRcvd < jsonData.length) {
// if((byteRcvd=clientSocket.getInputStream().read(jsonData totalByteRcvd jsonData.length-totalByteRcvd))==-1){
//// throw new SocketException(“连接关闭了!“);
// return jsonData.toString();
// }
// totalByteRcvd+=byteRcvd;
// }
// } catch (SocketException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// } catch (IOException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
//输出消息
// System.out.println(“收到的消息是:“+new String(jsonData));
// String content = null;
// StringBuilder sb = new StringBuilder();
// try {
// BufferedReader inFromServer = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
// content = inFromServer.readLine();
// if(null!=content){
// try {
// File file = new File(“D://client.txt“);
// if (!file.exists()) {
//                 file.createNewFile();
//             }
// FileOutputStream os = new FileOutputStream(file);
// BufferedOutputStream bos = new BufferedOutputStream(os);
// bos.write(content.getBytes());
// bos.close();
// os.close();
// } catch (Exception e) {
//    e.printStackTrace();
// }
// }
// } catch (IOException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }

return jsonData.toString();
}
//发送消息客户端往服务器发送消息
public static boolean onSend(Socket clientSocketbyte[] jsonData){
System.out.println(“onSend..........“);
OutputStream os;
try {

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        3682  2017-06-14 09:43  File_client.java
     目录           0  2017-06-14 10:24  __MACOSX\
     文件         172  2017-06-14 09:43  __MACOSX\._File_client.java
     文件        2033  2017-06-14 09:43  File_server.java
     文件         172  2017-06-14 09:43  __MACOSX\._File_server.java

评论

共有 条评论