连接服务器问题!!(简单问题哟!)在线给分!

TangJunLin2002 2004-01-14 11:21:53
我照着书上写了一个 用于聊天的程序分为 客户端和服务端!两边可以正常的聊天!
但是为什么我用客户端聊天其他断口的时候无法连接呢??

比如,连接163的80断口,就无法连接!

应该说可以连接!只是无法接受数据而已嘛!为什么连连接都不可以呢?
比如,我连接传奇私服的7100断口的话,我该怎么写程序!那位大哥贴上一段代码
感激不尽!

...全文
52 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
grooving 2004-01-14
  • 打赏
  • 举报
回复
connect()连接
recv()接受

要发送指定格式的数据服务器才能返回数据给你。
GR 2004-01-14
  • 打赏
  • 举报
回复
/*-------------------------------------------------------------------------------------------
this is Test to connect to google at 80 port
(c) HZ.GR.2004
--------------------------------------------------------------------------------------------*/
#include <winsock2.h>
#include <stdio.h>
WSADATA WSAData = {0};
WORD VerRequest = MAKEWORD(2,1);
struct sockaddr_in TCPClient = { 0 };
struct sockaddr_in TCPServer = { 0 };
//struct sockaddr_in test;
SOCKET sClientSocket = 0;


u_short Port = 5050,ServerPort = 1,UDPPort = 65531; //http://
const TCHAR szServerIP[] = {"218.108.248.40"}; //google,bbs.hzcnc
const TCHAR StartOK[] = {"StarSocket successed"};
const TCHAR StartError[] = {"StartSocket Error"};
const TCHAR CloseOK[] = {"SOCKET closed successed"};
const TCHAR CloseError[] = {"socket closed failed"};







int main()
{
if(0 != WSAStartup(VerRequest,&WSAData))
{
printf("%s\n",StartError);
return 0;
}
printf("%s\n",StartOK);
/*-------------------------------------------------------------------------------------------
Server and client :set port ,family,and address;,ServerPort改成你要的7100,ServerIP改成你要的IP
--------------------------------------------------------------------------------------------*/
TCPClient.sin_port = htons(Port);
TCPClient.sin_family = AF_INET;
TCPClient.sin_addr.s_addr = htonl(0);

TCPServer.sin_addr.s_addr = inet_addr(szServerIP);
TCPServer.sin_family = AF_INET;
TCPServer.sin_port = htons(ServerPort); //PORT

sClientSocket = socket(AF_INET,SOCK_STREAM,0); //TCP
//sClientSocket = socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP);// UDP
if(INVALID_SOCKET == sClientSocket)
{
printf("INVALID_SOCKET\n");
return 0;
}
/*-------------------------------------------------------------------------------------------
bind
--------------------------------------------------------------------------------------------*/
if( 0 != bind(sClientSocket,(sockaddr*)&TCPClient,sizeof(TCPClient)))
{
printf("bind error\n");
return 0;
}
if( 0 != connect(sClientSocket,(sockaddr*)&TCPServer,sizeof(TCPServer)))
{
printf("connect error\n");
return 0;
}


if(0 != closesocket(sClientSocket))
{
printf("SocketError\n");
return 0;
}


if(0 != WSACleanup())
{
printf("%s\n",CloseError);
return 0;
}
printf("%s\n",CloseOK);

return 1;

}

********************************************************************************
每个失败后还要释放资源,没写全。还堪用,
********************************************************************************
TangJunLin2002 2004-01-14
  • 打赏
  • 举报
回复
UP
TangJunLin2002 2004-01-14
  • 打赏
  • 举报
回复
UP
SecureCRT and SecureFX v7.3.3 x86 x64 build 779 注册破解正式版 2015年3月31日官方正式更新发布! 附带了注册机和注册说明,亲测可用 SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登录UNIX或Linux服务器主机的软件。SecureCRT支持SSH,同时支持Telnet和rlogin协议。SecureCRT是一款用于连接运行包括Windows、UNIX和VMS的理想工具。通过使用内含的VCP命令行程序可以进行加密文件的传输。有流行CRTTelnet客户机的所有特点,包括:自动注册、对不同主机保持不同的特性、打印功能、颜色设置、可变屏幕尺寸、用户定义的键位图和优良的VT100,VT102,VT220和ANSI竞争.能从命令行中运行或从浏览器中运行.其它特点包括文本手稿、易于使用的工具条、用户的键位图编辑器、可定制的ANSI颜色等.SecureCRT的SSH协议支持DES,3DES和RC4密码和密码与RSA鉴别。 SecureFX 支持三种文件传输协议:FTP、SFTP 和 FTP over SSH2。它可以提供安全文件传输。无论您连接的是任何一种操作系统的服务器,它都能提供安全的传输服务。它主要用于Linux操作系统如redhat, ubuntu的客户端文件传输程序,您可以选择利用SFTP通过加密的SSH2实现安全传输,也可以利用FTP进行标准传输。该客户端具有Explorer风格的界面,易于使用,同时提供强大的自动化能力,可以实现自动化的安全文件传输。

18,363

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧