【发布时间】:2014-04-13 03:41:56
【问题描述】:
我有一个关于套接字如何在 C 中工作的问题。英语不是我的第一语言,但我会尽力解释我的问题。
我的函数应该能够SEND和RECEIVE数据。传出数据的端口必须与传入数据的端口不同。
例如,在这种情况下 PORT1 可以与 PORT2 相同吗?
int ds_sock;
ds_sock=socket(AF_INET, SOCK_DGRAM,0);
struct sockaddr_in my;
my.sin_family=AF_INET;
my.sin_port= PORT1;
my.sin_addr.s_addr=INADDR_ANY;
bind(ds_sock,&my,sizeof(my));
struct sockaddr_in Eaddr;
Eaddr.sin_family=AF_INET;
Eaddr.sin_port= PORT2;
Eaddr.sin_addr.s_addr=IP;
sendto(ds_sock,buff,1024,0,(struct sockaddr*)&Eaddr,sizeof(Eaddr));
【问题讨论】:
-
有什么问题?如果您需要这样做,您可以发送到您自己的端口。
-
@EJP 首先感谢您的关注。我想将数据发送给另一个客户端。我的问题是:socked 与 PORT1 “绑定”。它可以通过PORT2发送东西吗?另外,PORT 1 可以和 PORT2 一样,否则我会收到任何错误,因为传入端口与传出端口相同?