关于ctcp调试助手源代码的信息
admin 发布:2022-12-19 23:43 186
今天给各位分享ctcp调试助手源代码的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、Windows系统用C语言写TCP通信
- 2、TCP调试助手怎么使用。
- 3、C++TCP通信服务端代码问题
- 4、如何使用网络调试助手调试TCP
- 5、求C语言高手,实现一个简单的TCPIP程序以实现两台计算机之间的聊天通信,
- 6、VC++ 串口调试助手源程序问题(龚建伟版)
Windows系统用C语言写TCP通信
#include
#include
#include
#pragma comment(lib,"ws2_32.lib")
typedef struct{
SOCKET accpt;
int lock;
}Arg;
void *transfer(void *arg)
{
Arg * info = (Arg *)arg;
SOCKET clientSock;
char recvbuf[102];
char sendBuf[] = "10";
int ret;
memcpy(clientSock,(void*)info-accpt,sizeof(clientSock));
info-lock =1;
while (TRUE)
{
ret = send(clientSock,sendBuf,2,0);
if (ret == -1)
{
break;
}
ret = recv(clientSock,recvbuf,102,0);
printf("%s\n",recvbuf);
}
return (void *)0;
}
void* timer(void *arg)
{
time_t last = time(NULL);
time_t now;
int i = 20;
while(i--)
{
now = time(NULL);
if(now - last == 1)
{
printf("1s past!\n");
last = now;
}
Sleep(500);
}
printf("timer exit.\n");
return (void *)0;
}
int main(void) {
WSADATA wsaData;
SOCKET ListenSocket;
SOCKADDR_IN service,client;
int len = sizeof(client);
Arg argument;
pthread_t tid;
char sendBuf[] = "ID=2;WHAT=host";
int iResult = WSAStartup(MAKEWORD(2,2), wsaData);
if (iResult != NO_ERROR) {
printf("Error at WSAStartup()\n");
return 1;
}
ListenSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if (ListenSocket == INVALID_SOCKET) {
printf("Error at socket(): %ld\n", WSAGetLastError());
WSACleanup();
return 1;
}
service.sin_family = AF_INET;
service.sin_addr.s_addr = inet_addr("127.0.0.1");
service.sin_port = htons(27115);
if (bind( ListenSocket,
(SOCKADDR*) service,
sizeof(service)) == SOCKET_ERROR) {
printf("bind() failed.\n");
closesocket(ListenSocket);
WSACleanup();
return 1;
}
if (listen( ListenSocket, 1 ) == SOCKET_ERROR) {
printf("Error listening on socket.\n");
closesocket(ListenSocket);
WSACleanup();
return 1;
}
argument.lock = 1;
printf("Waiting for client to connect...\n");
pthread_create(tid,NULL,timer,NULL);
while(TRUE){
argument.accpt = accept( ListenSocket, (SOCKADDR*)client, len );
if (argument.accpt == INVALID_SOCKET) {
printf("accept failed: %d\n", WSAGetLastError());
closesocket(ListenSocket);
WSACleanup();
return 1;
} else {
printf("accept%s:%d\n",inet_ntoa(client.sin_addr),client.sin_port);
while (!argument.lock);
argument.lock = 0;
// sendto(argument.accpt,sendBuf,sizeof(sendBuf),0,(SOCKADDR*)client,len);
pthread_create(tid,NULL,transfer,argument);
//send(AcceptSocket,sendBuf,sizeof(sendBuf),0);
}
}
// No longer need server socket
closesocket(ListenSocket);
WSACleanup();
return 0;
}
TCP调试助手怎么使用。
使用网络调试助手调试tcp,可以试试
打开两个
网络调试助手,一个以服务器形式打开连接,另一个以客户端
形式连接服务器窗口,这样两个窗口就可以
互相
发送
接收
数据了,注意
发送窗口的发送端口号
要与
接收窗口的端口号
一致。
C++TCP通信服务端代码问题
#includewinsock2.h
#pragma comment (lib,"ws2_32")
int main(int argc, char* argv[])
{
WSADATA wsaData;
WSAStartup(MAKEWORD(2,2),wsaData);
SOCKET s = socket(PF_INET,SOCK_STREAM,IPPROTO_TCP);
/*struct sockaddr_in {
short sin_family;
u_short sin_port;
struct in_addr sin_addr;
char sin_zero[8];
};
*/
sockaddr_in socketaddr;
socketaddr.sin_family = PF_INET;
socketaddr.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");
socketaddr.sin_port = htons(827);
bind(s, (SOCKADDR*)socketaddr, sizeof(SOCKADDR));
listen(s,1);
SOCKADDR clientAddr;
int nSize = sizeof(SOCKADDR);
SOCKET clientSock;
clientSock = accept(s,(SOCKADDR*)clientAddr,nSize);
send(clientSock,"hello world!\r\n",strlen("hello world!\r\n")+sizeof(char),NULL);
closesocket(clientSock);
closesocket(s);
WSACleanup();
return 0;
}
这是修改后的代码。兄弟,打字认真点,都是单词拼写错误!!
如何使用网络调试助手调试TCP
TCP跟UDP不一样,TCP必须先建立服务端,然后客户端才能去连服务端。在这里我们选择协议类型为TCP Server。
2
然后是服务端所在的IP地址,如下图所示输入,该工具会自动识别到本地IP地址。
3
端口号我们在这里选择8080,如果选择其他的端口号,在建立客户端时要保持一致。
4
然后点击“连接”按钮即可建立服务端,接下来就待客户端来连接。
END
TCP客户端
1
接下来就是建立客户端了,协议类型选择“TCP Client”,如下图所示。
2
服务器IP地址这里是要填写我们要连接到的服务器端的IP地址。
3
然后是服务器的端口号,必须要跟前面设置服务器时一致。
4
点击“连接”按扭即可发起连接,如果连接成功,该按钮将成“断开”字样。
END
收发测试
然后就可以随便发数据了,在客户端输入数据,点击发送,数据就可以传输到服务端了。
服务器也类似操作,不过服务端可以选择发送数据给特定的对象或者所有连到服务器上的客户端。
求C语言高手,实现一个简单的TCPIP程序以实现两台计算机之间的聊天通信,
你上面给出的代码其实就是 MSDN 里面的演示代码,不过不完整,只演示了两个函数的使用,我给你看看我写的 TCP 通讯程序,可以在同一个局域网内的两台不同计算机之间聊天 :
这其实就是某本将网络通讯的教程里面的例子,不过是我自己重写了一遍,下面给你代码:
========================
下面是公共代码:
========================
#ifndef __CINITSOCK__H__
#define __CINITSOCK__H__
#include winsock2.h
#include iphlpapi.h
#pragma comment( lib, "ws2_32.lib" )
#pragma comment( lib, "iphlpapi.lib" )
class CInitSock
{
public:
CInitSock( int nMinorVer = 2, int nMajorVer = 2 )
{
WSADATA wsData;
WORD wVer = MAKEWORD( nMinorVer, nMajorVer );
if( 0 != WSAStartup( wVer, wsData ) ) exit( 0 );
}
~CInitSock( )
{
WSACleanup( );
}
};
#endif
========================
下面是客户端的代码 :
=======================
#include "CInitSock.h"
#include iostream
using namespace std;
CInitSock g_Sock;
void main( )
{
SOCKET sockClient = socket( AF_INET, SOCK_STREAM, IPPROTO_TCP );
if( INVALID_SOCKET == sockClient )
return;
sockaddr_in sockAddr;
sockAddr.sin_family = AF_INET;
sockAddr.sin_port = htons( 4567 );
sockAddr.sin_addr.S_un.S_addr = inet_addr( "127.0.0.1" );
if( -1 == connect( sockClient, ( sockaddr* )sockAddr, sizeof( sockAddr ) ) )
{
cout "connect failed" endl;
return;
}
while( true )
{
char szBuf[ MAX_PATH ];
ZeroMemory( szBuf, sizeof( szBuf ) );
cout "You Say : ";
cin szBuf;
if( SOCKET_ERROR == send( sockClient, szBuf, MAX_PATH, 0 ) )
{
cout "send failed" endl;
return;
}
int nRecvLen = recv( sockClient, szBuf, MAX_PATH, 0 );
if( nRecvLen 0 )
{
// szBuf[ nRecvLen ] = '\0';
cout "Service Say : " szBuf endl endl;
}
else
{
cout "recv failed" endl;
return;
}
}
closesocket( sockClient );
}
======================
下面是服务端的代码:
======================
#include "CInitSock.h"
#include iostream
using namespace std;
CInitSock g_Sock;
void main( )
{
SOCKET sockClient = socket( AF_INET, SOCK_STREAM, IPPROTO_TCP );
if( INVALID_SOCKET == sockClient )
return;
sockaddr_in sockAddr;
sockAddr.sin_family = AF_INET;
sockAddr.sin_port = htons( 4567 );
sockAddr.sin_addr.S_un.S_addr = INADDR_ANY;
bind( sockClient, ( sockaddr* )sockAddr, sizeof( sockAddr ) );
listen( sockClient, SOMAXCONN );
char szBuf[ MAX_PATH ];
sockaddr_in remoteAddr;
int nLen = sizeof( sockaddr_in );
SOCKET sock = accept( sockClient, ( sockaddr* )remoteAddr, nLen );
while( true )
{
int nRecvLen = recv( sock, szBuf, MAX_PATH, 0 );
if( nRecvLen 0 )
{
cout "Client Say : " szBuf endl endl;
}
ZeroMemory( szBuf, sizeof( szBuf ) );
cout "You Say : ";
cin szBuf;
if( SOCKET_ERROR == send( sock, szBuf, MAX_PATH, 0 ) )
{
cout "send failed" endl;
}
}
closesocket( sock );
closesocket( sockClient );
}
希望能够帮到楼主 。
VC++ 串口调试助手源程序问题(龚建伟版)
答:
1、如果工具栏没显示的话,应该是隐藏了,可以在 “菜单栏”的空白处,单击右键,在“Control”上打钩(中文版可能叫“控件”),就可以显示出来了
2、如果你的工程 和 文章里名字一样的话(工程也和文章里一样是基于对话框的程序),肯定会有的,仔细看看
3、msdn 完整的确实很大,包括了微软所有开发工具的文档,例子,等等。刚开始学的话,可以下个VC精简版的,几十M,应该也能满足使用要求,这个链接就是精简版的
4、我一直用的都是 英文版 的 VC6,下载的压缩包是 397M左右,具体地址找不到了,楼主自己搜索一下吧
另:VC入门麻烦点,但是入了门就很简单了,加油吧~
ctcp调试助手源代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、ctcp调试助手源代码的信息别忘了在本站进行查找喔。
版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;
- 上一篇:php在线代码编辑器(PHP在线编辑)
- 下一篇:域名管理网站源代码(网站系统源码)
相关推荐
- 05-05人工智能系统源代码(人工智能代码下载)[20240505更新]
- 05-05易语言源代码下载(易语言下载文件源码)[20240505更新]
- 05-05魔域脚本源代码(魔域互通版脚本)[20240505更新]
- 05-05学校宿舍管理系统源代码(c++宿舍管理系统源代码)[20240505更新]
- 05-05关于软文吧的信息
- 05-05html5制作动漫网站源代码(html动漫网页设计作品及代码)[20240505更新]
- 05-04融资源代码(融资代码是什么)[20240504更新]
- 05-04淘宝代码与网页代码不一样吗(淘宝网页源代码怎么看)[20240504更新]
- 05-04c语言连连看开源代码(python连连看源代码)[20240504更新]
- 05-04java简易计算器源代码(简易计算器编程java)[20240504更新]
取消回复欢迎 你 发表评论:
- 标签列表
- 最近发表
- 友情链接