socket sendto(socket 的 sendto 怎么发送结构体,强制转换成(char *)不行啊,帮个心撒)
本文目录
- socket 的 sendto 怎么发送结构体,强制转换成(char *)不行啊,帮个心撒
- python *****消息怎么看
- 如何用socket发送广播帧
- C# socket 的SendTo()方法
- python *****函数怎么写
- send和sendto的区别
socket 的 sendto 怎么发送结构体,强制转换成(char *)不行啊,帮个心撒
将结构体的指针强制转换成char*就可以了。
struct A a;
sendto( s, (char*)&a, sizeof(a), ..... );
python *****消息怎么看
# -*- coding: cp936 -*-
’’’’’
建立一个python server,**指定端口,
如果该端口被远程连接访问,则获取远程连接,然后接收数据,
并且做出相应反馈。
’’’
if __name__=="__main__":
import socket
print "Server is starting"
sock = *****(*****_INET, *****_STREAM)
*****((’localhost’, 8001)) #配置soket,绑定IP地址和端口号
*****(5) #设置最大允许连接数,各连接和server的通信遵循FIFO原则
print "Server is listenting port 8001, with max connection 5"
while True: #循环轮询socket状态,等待访问
connection,address = *****()
try:
*****(50)
#获得一个连接,然后开始循环处理这个连接发送的信息
’’’’’
如果server要同时处理多个连接,则下面的语句块应该用多线程来处理,
否则server就始终在下面这个while语句块里被第一个连接所占用,
无法去扫描其他新连接了,但多线程会影响代码结构,所以记得在连接数大于1时
下面的语句要改为多线程即可。
’’’
while True:
buf = *****(1024)
print "Get value " +buf
if buf == ’1’:
print "send welcome"
*****(’welcome to server!’)
elif buf!=’0’:
*****(’please go out!’)
print "send refuse"
else:
print "close"
break #退出连接**循环
except *****: #如果建立连接后,该连接在设定的时间内无数据发来,则time out
如何用socket发送广播帧
这是一个发送多播帧的例子:
#include 《sys/*****》
#include 《sys/*****》
#include 《arpa/*****》
#include 《*****》
#include 《*****》
#include 《*****》
#include 《*****》
#define SERV_PORT 5000
int main(int,char**)
{
int SendtoSocket;
sockaddr_in SendtoAddr;
int AddrLen=sizeof(SendtoAddr);
char szBuffer="This is a test\n";
char *szTime;
SendtoSocket=socket(AF_INET,SOCK_DGRAM,0);
bzero(&SendtoAddr,sizeof(SendtoAddr));
*****_family=AF_INET;
*****_port=ht***(SERV_PORT);
inet_pton(AF_INET,"*****",&*****_addr);
c***t int on=1;
// setsockopt(SendtoSocket,SOL_SOCKET,SO_BROADCAST,&on,sizeof(on));
time_t CurrentTime;
for(;;)
{
time(&CurrentTime);
szTime=ctime(&CurrentTime);
sendto(SendtoSocket,szTime,strlen(szTime),0,(sockaddr *)&SendtoAddr,AddrLe
n);
sleep(1);
}
}
这是接收多播帧的例子:
#include 《sys/*****》
#include 《sys/*****》
#include 《arpa/*****》
#include 《*****》
#include 《*****》
#include 《*****》
#define SERV_PORT 5000
int main(int,char**)
{
int RecvSocket;
sockaddr_in ServAddr;
socklen_t AddrLen=sizeof(ServAddr);
char szBuffer;
RecvSocket=socket(AF_INET,SOCK_DGRAM,0);
bzero(&ServAddr,sizeof(ServAddr));
*****_family=AF_INET;
*****_*****_addr=htonl(INADDR_ANY);
*****_port=ht***(SERV_PORT);
bind(RecvSocket,(sockaddr *)&ServAddr,AddrLen);
ip_mreq mreq;
inet_pton(AF_INET,"*****",&*****_*****_addr);
*****_inte*******_addr=*****_*****_addr;
setsockopt(RecvSocket,IPPROTO_IP,IP_ADD_MEMBERSHIP,&mreq,sizeof(mreq));
int nRecv;
for(;;)
{
nRecv=recvfrom(RecvSocket,szBuffer,200,0,(sockaddr *)&ServAddr,&AddrLen);
szBuffer=’\0’;
printf(szBuffer);
}
}
C# socket 的SendTo()方法
原创-C#仿QQ程序
***隐藏网址***
里面实现加入好友,通知好友上线等功能,有图为证
我建议:
1.你不要缓存Socket客户机连接,客户少无问题.假设100w连接,把你服务器也搞死了.
2.你要用P2P结构,更先进
3.客户机与服务器在需要通信时才建连接,如QQ缓存Socket客户机连接,腾迅需要几百个服务器.
python *****函数怎么写
for i as byte=0 to 10 dim lab as new label *****="lab" & i *****=new point(0,i*20) *****= true *****=i *****(lab) next
send和sendto的区别
sendto可以在参数中指定发送的目标地址,send需要socket已建立连接,sendto可用于无连接的socket
对于有连接的socket,两者一样,sendto最后两个参数没用
更多文章:
linuxcp目录下所有文件(linux下备份一个目录下所有文件及目录,应该用什么命令)
2026年4月23日 20:40
matlab安装完没有图标(matlab2010b安装完没有快捷方式图标怎么办)
2026年4月23日 20:20
默认字符串是什么(我在VS2010下编写C++程序,常量字符串 (汉字)默认是什么编码)
2026年4月23日 20:00
socket sendto(socket 的 sendto 怎么发送结构体,强制转换成(char *)不行啊,帮个心撒)
2026年4月23日 18:40






