DECLEARE_SERIAL(CMyObject)
使用DECLARE_SERIAL宏DECLARE_SERIAL宏包括了DECLARE_DYNAMIC和DECLARE_DYNCREATE功能,它定义了一个类的CRuntimeClass相关信息,并实现了缺省的operator 》》 重载。实现了该宏以后,CArchive就可以利用ReadObject和WriteObject来进行对象I/O,并能够在事先不知道类型的情况下从文件中读对象。使用IMPLEMENT_SERIALDECLARE_SERIAL宏和IMPLEMENT_SERIAL宏必须成对出现,否则DECLARE_SERIAL宏定义的实体将无法实现,最终导致连接错误。推荐文章:
excel条件函数公式
链接:
课程目录:
工作中使用Excel函数公式的必要性
什么时候适合用Excel函数与公式
为什么用Excel函数与公式
......
请问Socket编程的基本步骤是怎样的最好能写一个简单的程序Java演示一下,主要是接受数据谢谢!
SERVER端:--------------------------------------------------------import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.IOException;import java.net.ServerSocket;import java.net.Socket;public class Server extends Thread { private Socket clientSocket; public Server(Socket clientSocket) { this.clientSocket = clientSocket; } public void run() { DataInputStream dis = null; DataOutputStream dos = null; try { dis = new DataInputStream(clientSocket.getInputStream()); dos = new DataOutputStream(clientSocket.getOutputStream()); while (true) { String temp = dis.readUTF(); if (“over“.equals(temp)) { break; } dos.writeUTF(“from server:“ + temp); } } catch (Exception e) { e.printStackTrace(); } finally { try { if (dis != null) { dis.close(); } if (dis != null) { dos.close(); } if (clientSocket != null) { clientSocket.close(); } } catch (IOException e) { } } } public static void main(String args) throws Exception { ServerSocket ss = new ServerSocket(8008); while (true) { Socket clientSocket = ss.accept(); // 针对每个客户端, 启一个Server线程专门处理此客户端的请求。 Server server = new Server(clientSocket); server.start(); } }}CLIENT端:----------------------------------------import java.io.BufferedReader;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.InputStreamReader;import java.net.Socket;public class Client { public static void main(String args) throws Exception { // 输入流1, 从键盘进入Client。 InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr); Socket clientSocket = new Socket(“127.0.0.1“, 8008); // 输入流2, 从服务器端进入Client的流对象。 DataInputStream dis = new DataInputStream(clientSocket.getInputStream()); // 输出流, 从Client出去, 到服务器端。 DataOutputStream dos = new DataOutputStream(clientSocket.getOutputStream()); while (true) { // 从键盘输入读取 String msg = br.readLine(); // 将读取信息发送给服务器端 dos.writeUTF(msg); //输入QUIT退出 if (“QUIT“.equals(msg)) { break; } //读取从服务器返回的信息 String temp = dis.readUTF(); System.out.println(temp); } br.close(); dis.close(); dos.close(); clientSocket.close(); }}