C#與C/C++ Socket網路通訊
阿新 • • 發佈:2019-02-02
C作為客戶端(傳送端)
//建立套接字 serSocket = socket(AF_INET, SOCK_DGRAM,0); if (serSocket == INVALID_SOCKET) { printf("socket伺服器建立失敗\n"); return 0; } //繫結IP和埠 mysin.sin_family = AF_INET; mysin.sin_port = htons(CPORT); mysin.sin_addr.S_un.S_addr = inet_addr(serverip); int cc=sendto(serSocket, "test", 4, 0, (SOCKADDR*)&mysin, nAddrlen); closesocket(serSocket);
C#作為接收端
//初始化 Socket ccc = new Socket(); EndPoint xxx = new EndPoint(IP,Port); ccc.bind(xxx);//此步是用於繫結自己本身的IP和Port 用於接收客戶端的資料 //接收資料 EndPoint recv = new EndPoint(IPAddress.Any,Port); if(recv.receivefrom(buff,ref recv);//此步成功之後 recv 裡面存放的即是客戶端的地址資料 //獲得到客戶端地址之後 才能夠進行傳送操作 ccc.sendto(buff,recv);//此時可以直接用recv 因為裡面存放的就是客戶端的地址了