请教各位,在一个程序中有办法实现既是客户端又是服务器的编程吗

请问各位,在一个程序中有办法实现既是客户端又是服务器的编程吗
初学网络,现在想编个程序,既可以接收client的连接,又可以连接其他server,请问这个功能可以再一个程序中实现吗?一点思路都没有
------最佳解决方案--------------------
端口又不同,有何不可
------其他解决方案--------------------
多线程分别处理
------其他解决方案--------------------
创建两个socket,一个用于监听客户端的连接,一个用作客户端去连接别的服务器
------其他解决方案--------------------
可以,用不同端口,多线程