把SOCKET封装在SO库的设计思路请问

把SOCKET封装在SO库的设计思路请教
我们的小项目需要服务器和用户进行一个数据交换,过去是用TCP SOCKET直接在JAVA里用。
后来公司要求用C++封装到SO库里。

请问可否如下思路设计:
1. 将SOCKET的连接,比如CONNECT()写在SO库里,然后在MAINTABACTIVITLY.JAVA里用线程运行。因为这里必须用线程,否则会影响打开的速度。
2. 将发送数据到服务器的动作写在SO库里,比如sendmsg(str),给用户在第二个TAB里的某个按钮里执行,注意这里可能有多个按钮,因为发送多种不同的数据,可能用户会点击多次以及输入一些字符串之类的发送到服务器。
3. 接收服务器发来的信息,比如string RECMSG()写在SO库里,开多个线程也写在MAINTABACTIVITLY.JAVA里执行

以上凡是涉及到SOCKET的,公司都要求必须写在SO里。

请问,这样设计会不会有问题?
感觉会有问题,因为1建立的SOCKET是在线程里运行的的,SENDMSG(STR)虽然也在SO库里,但能用CONNECT()建立的好的SOCKET发数据吗?
第二个问题是,RECMSG在哪开线程才能继续用1建立的SOCKET通道收数据?是写在同一个CPP里?还是只要在同一个SO里就可以了?

或者你们有没更好的方案?因为刚接触SO,很多C++的东西都忘光了。需要前辈的指点。
分不多,多多包涵~
谢谢!

------解决方案--------------------
还可以这样么,mark下,学习学习
------解决方案--------------------
不会卡的,头文件就是一些函数的初始声明。