C语言网络编程设计模式