0
我已收到来自UDP套接字fd
的数据。如何使用此信息来建立发件人的TCP连接。 buf
包含TCP端口。如何使用UDP段中的数据建立TCP连接?
struct sockaddr_storage remote_addr;
socklen_t remote_addr_len;
recvfrom(fd, buf, BUFSIZE, 0, (struct sockaddr *)&remote_addr, &remote_addr_len);
下面的代码是我的尝试,但它不起作用。我是套接字编程的新手,我正在试图弄清楚这个问题。
newfd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
struct hostent *info;
info = gethostbyname(remoteAddr.h_addr);
struct sockaddr_in newConn;
newConn.sin_family = AF_INET;
bcopy((char *)info->h_addr, (char *)&newConn.sin_addr.s_addr, info->h_length);
newConn.sin_port = htons(mesgTcpPort); //mesgTcpPort is of type int gotten from buf
connect(newfd,(struct sockaddr *)&newConn,sizeof newConn);
错误检查被省略。
如果你添加错误检查,你会得到什么错误? (如果你没有得到任何代码,你的代码就可以工作。) – 2012-02-12 20:44:06
我在实际的代码中检查错误,我只是在这里删除它来保持代码简短。 – user1205604 2012-02-12 20:49:04