Tcp服务端如何将客户端a发来的数据放给客户端b

通过c语言写一个tcp的客户端服务端程序,服务端支持多个客户端同时连接,我要实现客户端a发给服务器的数据在服务端接收后服务端吧这个数据再发送给另外一个连上来的客户端b,该怎么写呢

其实你可以把问题描述的更加清楚一点,socket创建和连接上面个那位老兄已经说清楚了,我猜想你的问题应该是怎么指定是发往哪一个,逻辑上是这样实现的:
1.每个连接建立后,可以记录当前连接,或者起个名字
2.发送数据可以自定义协议,比如(名字+数据长度+数据)这样
3.服务器接收到数据包,先解析名字,再进行转发

虽然可以直接给代码,但建议你还是要亲自动手尝试下编码,编码调试中有问题,可以再提问。
鉴于刚开始练手,可以只创建一个客户端和服务端,调通之后再增加另一个客户端。建议思路如下:
1.客户端创建socket,初始化客户端和服务端addr,建立connect,实现sendMsg函数,调用send进行发送;建立数据接收线程,调用receive函数接受数据。
2.服务端创建socket,初始化客户端和服务端addr,bind服务端IP和端口,设置listen监听客户端连接,建立accept等待客户端连接;调用receive函数接受客户端发来的数据,保存在buffer中,这个buffer就是你要发送给另一个客户端的数据;建立sendMsg函数,调用send函数向客户端发送数据。
这里客户端和服务端addr都是固定的,调通以后,对服务端来说,客户端addr就来源于receive函数所获得的addr。