Socket UDP通信小结(指定客户端的接受端口)
来源:互联网 发布:sem高级优化师 编辑:程序博客网 时间:2024/05/17 17:59
//UDPServer
#include "stdafx.h"#include "stdio.h"#include <afxsock.h>int main(int argc, char* argv[]){SOCKET socket1;int iReturn=0;AfxSocketInit();struct sockaddr_in local;struct sockaddr_in from;int fromlen =sizeof(from);int locallen=sizeof(local);local.sin_family=AF_INET;local.sin_port=htons(10000); ///监听端口local.sin_addr.s_addr=INADDR_ANY; ///本机 struct sockaddr_in sockSend; int sendlen=sizeof(sockSend);sockSend.sin_family=AF_INET; sockSend.sin_port=htons(10001);socket1=socket(AF_INET,SOCK_DGRAM,0);bind(socket1,(struct sockaddr*)&local,sizeof local);while (1){char buffer[1024]="\0";char bufferSend[30]="UDPServer answer Successful\0";printf("waiting for message from others-------------\n");if (recvfrom(socket1,buffer,sizeof buffer,0,(struct sockaddr*)&from,&fromlen)!=SOCKET_ERROR){printf("Received datagram from %s--%s\n",inet_ntoa(from.sin_addr),buffer);////给cilent发信息sockSend.sin_addr.s_addr=from.sin_addr.s_addr;iReturn=sendto(socket1,bufferSend,sizeof bufferSend,0,(struct sockaddr*)&sockSend,fromlen);}Sleep(500);}closesocket(socket1);return 0;}
//UDP Client
#include "stdafx.h"#include "afxsock.h"int main(int argc, char* argv[]){AfxSocketInit();SOCKET socket1;struct sockaddr_in server;int len =sizeof(server);server.sin_family=AF_INET;server.sin_port=htons(10000); ///server的监听端口server.sin_addr.s_addr=inet_addr("x.x.x.x");//server IPstruct sockaddr_in serverGet;int getlen=sizeof(serverGet);serverGet.sin_family=AF_INET;serverGet.sin_port=htons(10001);serverGet.sin_addr.s_addr=INADDR_ANY;socket1=socket(AF_INET,SOCK_DGRAM,0);bind(socket1,(struct sockaddr*)&serverGet,sizeof server);char buffer[7]="TestSend\0";char bufferGet[65]="\0";int iRecCount=0;if (sendto(socket1,buffer,sizeof buffer,0,(struct sockaddr*)&server,len)!=SOCKET_ERROR){iRecCount=recvfrom(socket1,bufferGet,sizeof bufferGet,0,(struct sockaddr*)&serverGet,&getlen);if (iRecCount!=-1)printf("receive from server:%s\n",bufferGet);}closesocket(socket1);return 0;}
1.Server跟Client在同一台可以,分别放两台电脑上也可以,但是用这个Client发送另外一个Server的时候,却接受不到任何消息,没搞懂这个Server是需要什么条件?
2.MFC下面封装好的类,应该不错,因为发现delphi自带的控件用着就很快。。。
3.对网络通信协议这块需要下功夫。。。
- Socket UDP通信小结(指定客户端的接受端口)
- Socket(Udp)通信客户端
- UDP指定客户端发送端口
- socket通信,TCP协议,有多个客户端,服务器怎么向指定IP及端口的客户端发送数据!
- 指定范围端口的客户端socket 工厂类
- linux网络编程之用socket实现简单客户端和服务端的通信(基于UDP)
- [摘抄-Socket-学习中]TCP&UDP通信中socket端口的复用
- linux 多次创建不同的UDP socket进行通信,最终通信用的UDP 源端口以最后一次创建的socket使用的源端口为准
- 基于UDP的socket通信
- 基于UDP的Socket通信
- 基于TCP/UDP的Socket网络通信系列之客户端与服务器的简单对话(三)
- socket(UDP)客户端程序
- 网络程序设计--UDP通信(客户端)
- UDP通信程序(客户端)
- socket 网络编程快速入门(一)教你编写基于UDP/TCP的服务(客户端)通信
- socket 网络编程快速入门(一)教你编写基于UDP/TCP的服务(客户端)通信
- 固定端口的socket通信
- uip UDP客户端模式通信移植,本地端口可以随机
- oracle 联合主键删除一列
- 用MFC如何高效地绘图
- CSS 选择器记录
- LAMP配置教程(一)
- 测试用例评审
- Socket UDP通信小结(指定客户端的接受端口)
- 错误: 程序中有游离的‘\xxx’
- (含代码)WinCE6.0 Camera驱动的挂载,使应用层能使用DirctShow访问
- 使用adb访问sqlite数据库及常用命令
- java 递归与非递归求n的阶乘
- JAVA实现网址缩短
- Android开发--wifi工具类资料
- C#工程找不到Microsoft.Xna.Framework名字空间的问题
- ethernet