67,541
社区成员
发帖
与我相关
我的任务
分享

import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;
public class SocketManager
{
private Socket socket = null;
//socket初始化方法
public SocketManager() throws UnknownHostException, IOException
{
//这里如果出现异常,socket还是会有问题,建议在外层调用
if (null == socket || socket.isClosed())
{
socket = new Socket("10.137.28.189", 8888);
}
}
//socket关闭
public void closeSocket()
{
if (null == socket || socket.isClosed())
{
return;
}
try
{
socket.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
//只提供getter方法
public Socket getSocket()
{
return socket;
}
}
每个请求线程,都初始化一个SocketManager实例。使用连接时,get即可,不要对其close操作,直到不想保存此连接,就closeSocket
现在正在查找一些资料呢!我现在是客户端,我要和服务端通信的。就目前看得资料来说感觉要用到socket的长连接,但是我发现很多都把长连接指向了服务端,按我的意思理解的是长连接就是客户端和服务端建立连接后,在发送完数据以后不会立即关闭连接,而是通过心跳报文保持连接的,目前的困惑就是在客户端要如何建立一个长连接呢,我都是写一个socket连接后一发送数据再一接收最后不都关闭socket了吗?要如何保持他是一直开着呢!还有我向服务端发送数据以后,接收服务端给我发来的信息的时候,可以读取到,但是他却一直卡在读取数据那一步了,就走不到下面的代码了!

就这样的,分报头,正文体和报尾,然后是每几个字段代表一种属性,这属于字符流还是字节流,要如何处理呢?麻烦给说下,谢谢! [quote=引用 4 楼 weilus 的回复:] 报文什么格式啊,听说过XML,json,字符流,字节流。真心的孤陋寡闻了,同求这个神马格式啊?
就这样的,分报头,正文体和报尾,然后是每几个字段代表一种属性,这属于字符流还是字节流,要如何处理呢?麻烦给说下,谢谢!
报文什么格式啊,听说过XML,json,字符流,字节流。真心的孤陋寡闻了,同求这个神马格式啊?
[quote=引用 3 楼 xieyongcx 的回复:] 不好意思,我没有研究过哪方面。你继续研究把。
[/quote]好把,给分我把。
不好意思,我没有研究过哪方面。你继续研究把。


报文什么格式啊,听说过XML,json,字符流,字节流。真心的孤陋寡闻了,同求这个神马格式啊?