编写一个TCP并发服务器端程序,可以把客户端发来的消息回射给客户端

编写一个TCP并发服务器端程序,可以把客户端发来的消息回射给客户端,第1张

简单的写了一下,没有加注释,应该很好理解,满意的话请采纳

#include <stdio.h>

#include <sys/socket.h>

#include <pthread.h>

void *thread(void *st)

int main(int argc, char *argv[])

{

pthread_t tid

int ret, fd

struct sockaddr_in info

fd = socket(AF_INET, SOCK_STREAM, 0)

if(fd <0)

goto socket_error

{

int var = 1

setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &var, sizeof(var))

}

info.sin_family = AF_INET

info.sin_port = htons(80)

info.sin_addr.s_addr = 0

ret = bind(fd, (void *)&info, sizeof(info))

if(ret)

goto bind_error

ret = listen(fd, 10)

if(ret)

goto listen_error

while(1)

{

clientfd = accept(fd, NULL, NULL)

pthread_create(&tid, NULL, thread, (void *)clientfd)

}

return 0

socket_error:

printf("socket error!\n")

return -1

bind_error:

printf("bind error!\n")

return -2

lister_error:

printf("lister error!\n")

return -2

}

void *thread(void *st)

{

int ret, rd

char buf[BUFSIZE]

int clientfd = (int)st

rd = read(clientfd, buf, sizeof(buf))

if(rd <0)

{

printf("read error!\n")

return

}

write(clientfd, "shou dao!", 9)

close(clientfd)

}

路由..

无法解析到两台机的IP地址,当然是不行的.

1台机反正就localhost当然可以.

你首先需要在路由上进行设置,要不你直接编辑/etc/hosts增加到另一台的解析.


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12061811.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存