#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增加到另一台的解析.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)