社区
网络编程
帖子详情
如何读取本机端口的数据???
yy306520
2007-09-28 05:04:22
本机的IP是192.168.0.2,端口是4444,现在需要监听本机的4444端口,只要来了数据(来的数据只会就是数字和字母组合),就写到一个.txt文档里面,请大家帮忙,谢谢大家了。
读出的和一个第三方软件一样的就OK了。完成了立即揭帖给分。
...全文
351
15
打赏
收藏
如何读取本机端口的数据???
本机的IP是192.168.0.2,端口是4444,现在需要监听本机的4444端口,只要来了数据(来的数据只会就是数字和字母组合),就写到一个.txt文档里面,请大家帮忙,谢谢大家了。 读出的和一个第三方软件一样的就OK了。完成了立即揭帖给分。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
candy_hxu
2008-09-27
打赏
举报
回复
问题1:你是不是要通过GPRS实现数据的传输啊?
如果是,那就继续问题2;如果不是,那我也不知道答案了,后面写的可以不看。
问题2:你说到你的IP是192.168.0.2,那你是不是内网的?
如果是,那就看看我的想法;如果不是,那我也不知道答案了,后面写的可以不看。
我认为:问题在于你的连接没有成功地建立,数据可能发送了,但是根本就没有送到你的机器来。
首先得知道你连接网络的真实IP,可打开www.ip.cn查到,注意,如果你没有申请固定IP,那这个IP的数值会变化的
然后,将设置路由器端口映射到你机器
最后,发送方连接时要用你的真实IP,然后你才能收到数
到底数据有没有发送过来,可以通过一些第三方软件看到,例如科浪gprs测试软件
当确定收到数据后,再测试你编写的程序吧
neversaydie518
2007-10-13
打赏
举报
回复
最简单的服务器端的程序,已经调试过了。你只要再判断
来的数据是数字和字母组合,再写到一个.txt文档里面就OK了
#pragma comment(lib,"WS2_32.lib")
#include <winsock2.h>
#include<iostream>
#include<string>
using namespace std;
void main(void)
{
WSADATA wsaData;
SOCKET ListeningSocket;
SOCKET NewConnection;
SOCKADDR_IN ServerAddr;
SOCKADDR_IN ClientAddr;
int ClientAddrLen;
int Port = 4444;
int Ret;
char DataBuffer[1024];
// Initialize Winsock version 2.2
if ((Ret = WSAStartup(MAKEWORD(2,2), &wsaData)) != 0)
{
cout<<"WSAStartup failed with error"<<Ret<<endl;
return;
}
// Create a new socket to listening for client connections.
if ((ListeningSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP))
== INVALID_SOCKET)
{
cout<<"socket failed with error"<<WSAGetLastError()<<endl;
WSACleanup();
return;
}
ServerAddr.sin_family = AF_INET;
ServerAddr.sin_port = htons(Port);
ServerAddr.sin_addr.s_addr = htonl(INADDR_ANY);
// Associate the address information with the socket using bind.
if (bind(ListeningSocket, (SOCKADDR *)&ServerAddr, sizeof(ServerAddr))
== SOCKET_ERROR)
{
cout<<"bind failed with error"<<WSAGetLastError()<<endl;
closesocket(ListeningSocket);
WSACleanup();
return;
}
if (listen(ListeningSocket, 5) == SOCKET_ERROR)
{
cout<<"listen failed with error"<<WSAGetLastError()<<endl;
closesocket(ListeningSocket);
WSACleanup();
return;
}
//reuse
const char opt = 1;
setsockopt(ListeningSocket, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt));
// Accept a new connection when one arrives.
if ((NewConnection = accept(ListeningSocket, (SOCKADDR *) &ClientAddr,
&ClientAddrLen)) == INVALID_SOCKET)
{
cout<<"accept failed with error"<<WSAGetLastError()<<endl;
closesocket(ListeningSocket);
WSACleanup();
return;
}
closesocket(ListeningSocket);
// receive data
if ((Ret = recv(NewConnection, DataBuffer, sizeof(DataBuffer), 0))
== SOCKET_ERROR)
{
cout<<"recv failed with error"<<WSAGetLastError()<<endl;
closesocket(NewConnection);
WSACleanup();
return;
}
closesocket(NewConnection);
WSACleanup();
}
yy306520
2007-10-04
打赏
举报
回复
错了,是只要接收数据,不要发送数据,我的功能很简单,就是只要接收4444发来的数据就可以了,这个简单的服务器端的功能不是很复杂,就是总是不成功,有没有人可以帮忙写出这段呢。
awperpvip
2007-09-30
打赏
举报
回复
回去想了一下,原来LZ的只要收,不接是这个意思啊,
感觉语义不甚清晰,参考一下Ethereal.c
mayudong1
2007-09-29
打赏
举报
回复
新开个线程放RECV,做成无限循环
kikistorm
2007-09-29
打赏
举报
回复
试试winpcap
到网上下个,里面有例子
yy306520
2007-09-29
打赏
举报
回复
也就是实现一个最简单的服务器端,只要收,不接,不管杜塞,不管异步,甚么之类的,我的代码先设置IP,端口,在BIND,在LISTEN,最后RECV。一直取不到数据(但是数据一定是发过来的了的,有第三方软件可以看到),高手现身啊!!!!
虽然我不是搞网络的,不过我觉得应该不是太难把。
Avoid
2007-09-29
打赏
举报
回复
http://www.cppblog.com/niewenlong/archive/2007/07/22/28537.html
端口复用技术与实现代码
Avoid
2007-09-29
打赏
举报
回复
端口复用就行了
Torch009
2007-09-29
打赏
举报
回复
这方面的网上多的是
alfwolf
2007-09-29
打赏
举报
回复
别人的代码
是创建监听端口的套接字的关键部分
m_RawSock是一个原始套接字
你自己看看吧,或许可以帮到你
int CListenDlg::CreateSock()
{
int err;
char name[128];
hostent *pHostent;
int port=8310;
SOCKADDR_IN sockaddr;
m_RawSock=socket(AF_INET,SOCK_RAW,IPPROTO_IP);
if(m_RawSock==INVALID_SOCKET)
{
return WSAGetLastError(); //socket创建失败
}
err=gethostname(name,128);
if(err==SOCKET_ERROR)
{
return WSAGetLastError(); //取本机用户名失败
}
pHostent=gethostbyname (name);
sockaddr.sin_family=AF_INET;
sockaddr.sin_port=htons(port);
memcpy(&sockaddr.sin_addr.s_addr,pHostent->h_addr_list[0],
pHostent->h_length);
//free(pHostent);
err=bind(m_RawSock,(SOCKADDR *)&sockaddr,sizeof(sockaddr));//绑定
if(err==SOCKET_ERROR)
{
return WSAGetLastError(); //取本机用户名失败
}
BOOL bOptval=TRUE;
//设置套节字选项
setsockopt(m_RawSock,SOL_SOCKET,SO_REUSEADDR,(char*)&bOptval,sizeof(bOptval));
err=setsockopt(m_RawSock,IPPROTO_IP,IP_HDRINCL,(char*)&bOptval, //IP_HDRINCL该选项使之能操作IP头
sizeof(bOptval));
if(err==SOCKET_ERROR)
{
return WSAGetLastError(); //设置套节字选项失败
}
//把网卡置于混杂模式。获取IO操作的相关信息
DWORD dwBufferLen[10] ;
DWORD dwBufferInLen = 1 ;
DWORD dwBytesReturned = 0 ;
err=WSAIoctl (
m_RawSock,
SIO_RCVALL, //设置SOCK_RAW为SIO_RCVALL,以便接收所有的IP包
&dwBufferInLen,
sizeof(dwBufferInLen),
&dwBufferLen,
sizeof(dwBufferLen),
&dwBytesReturned,
NULL,
NULL
);//最后两参数设置非阻塞
if(err==SOCKET_ERROR)
{
return WSAGetLastError(); //设置套节字选项失败
}
return 0;
}
zzh2106
2007-09-29
打赏
举报
回复
接分
jeffdu
2007-09-29
打赏
举报
回复
可以类似sniff,用原始套接字监听
awperpvip
2007-09-29
打赏
举报
回复
只要收,不接
呵呵,有意思,矛盾
...........
我的代码先设置IP,端口,在BIND,在LISTEN,最后RECV
只Listen,没Accept?
neosu
2007-09-28
打赏
举报
回复
抓包? 装个winpcap,有例子。
使用STM32 HAL库
读取
整个输入
端口
的
数据
使用STM32 HAL库
读取
整个输入
端口
的
数据
问题描述先看一下HAL与标准库的区别问题的解决感悟 问题描述 ST推出的新的HAL库将逐步取代以往的标准库。我最近将以往使用标准库编写的工程改用HAL库重构,发现一个问题就是HAL库无法整体
读取
指定GPIOx的
数据
(也许是我没发现相应的库函数)。 先看一下HAL与标准库的区别 HAL库提供的GPIO操作函数 void HAL_GPIO_Init(GP...
c#
读取
COM
端口
//初始化,打开/关闭
端口
bool Init_SerialPort()
php 串口通讯,使用PHP
读取
串行
端口
使用PHP
读取
串行
端口
? 有时我们可能会遇到这样的需求,从网络浏览器
读取
串行设备。 有点复杂吧?是的,用现有技术实现这一目标的方法很少 。我们都知道浏览器是沙盒模式,它严格限制访问系统硬盘或任何串行设备。 那么我们如何使用PHP(使用客户端浏览器执行服务器端脚本)
读取
串行
端口
。 是的,有点疯狂。我们可以找找一些其他可用的选项。Java Applet 。Active X组件。以上两种方法都有自己的优...
python监听
端口
获取
数据
_python从网络
端口
读取
文本
数据
python从网络
端口
读取
文本
数据
# To test it with netcat, start the script and execute:## echo "Hello, cat." | ncat.exe 127.0.0.1 12345#import socketHOST = 'localhost' # use '' to expose to all networksPORT = 1...
FTP模式及
端口
(
数据
端口
、命令
端口
)
FTP是基于TCP的高级文件协议,在传输的过程中,主要分为建立连接和
数据
传输两部分,响应的涉及到服务器端的命令
端口
和
数据
端口
。建立连接是采用tcp的三次握手模型,对于ftp服务器来说,采用固定的21命令
端口
和客户端进行通信,在
数据
传输过程中,根据FTP传输的时候的服务端
数据
通信过程中选择不同
数据
端口
,可以将ftp分为主动模式(Port)和被动模式(Pasv),这两种模式,对于客户端来说,
端口
没有固定性,只是在创建的时候,可以主动指定本地
端口
,或者是随机
端口
,而对于服务器来说,差异性在于采用...
网络编程
18,356
社区成员
64,214
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章