社区
Linux/Unix社区
帖子详情
socket 编程 connect ()的问题求教!
swen96
2007-01-18 11:28:42
本人在AIX写了段SOCKET SERVER程序,运行之后,察看了端口状态为LISTEN,server端程序也运行到了accept()了,但client死活都连不上去,提示“Connection refused”,用telnet也测试了服务端口,同样是“Connection refused”,有哪位高手碰到过类似的这种情况吗?告诉我一下解决的办法,不胜感激!被折磨的快崩溃了...... 帮帮我!
...全文
239
6
打赏
收藏
socket 编程 connect ()的问题求教!
本人在AIX写了段SOCKET SERVER程序,运行之后,察看了端口状态为LISTEN,server端程序也运行到了accept()了,但client死活都连不上去,提示“Connection refused”,用telnet也测试了服务端口,同样是“Connection refused”,有哪位高手碰到过类似的这种情况吗?告诉我一下解决的办法,不胜感激!被折磨的快崩溃了...... 帮帮我!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xfzhao_cn
2007-01-18
打赏
举报
回复
首先确认firewall没有启动,然后在client端抓包分析是否握手的数据正确的
mikeandmore
2007-01-18
打赏
举报
回复
自己对吧。。。
/*
* A test for anaylise the HTTP
* @author Mike
*/
#include <iostream>
#include <cerrno>
#include <cstdlib>
#include <unistd.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
#define PORT 8081
#define MAXMSG 512
#define MAXQUE 3
using namespace std;
int sock = 0;
void* DoResponse(void* data)
{
char* buffer = new char[MAXMSG];
int nbyte = MAXMSG;
int client = int(data);
cout << "==============================================" << endl;
do
{
nbyte = read(client, buffer, MAXMSG);
cout << buffer;
}while(nbyte > 0);
delete buffer;
}
void CreateThread(int client)
{
pthread_t pid;
int ret = pthread_create(&pid, NULL, &DoResponse, (void*)client);
if(ret != 0)
{
cout << "Thread Creation Error\n";
return;
}
}
int main(int argc,char* argv[])
{
sockaddr_in name;
sockaddr_in clientname;
sock = socket(PF_INET, SOCK_STREAM, 0);
if(!sock)
cout << "Error when Creating Server Socket.\n";
name.sin_family = AF_INET;
name.sin_port = htons(PORT);
name.sin_addr.s_addr = htonl(INADDR_ANY);
if(bind(sock, (const sockaddr*)&name, sizeof(name)) == -1)
cout << "Error when Binding Server Socket.\n";
if(listen(sock, MAXQUE) == -1)
cout << "Error when Listening.\n";
while(true)
{
fd_set fd;
FD_ZERO(&fd);
FD_SET(sock, &fd);
if(select(FD_SETSIZE, &fd, NULL, NULL, NULL) == -1)
cout << "Selecting Error\n";
socklen_t size;
int client_sock = accept(sock, (sockaddr*)&clientname, &size);
if(client_sock == -1)
{
cout << "Error when Accepting.\n";
continue;
}
CreateThread(client_sock);
}
cout << "Server Exiting...\n";
return 0;
}
mikeandmore
2007-01-18
打赏
举报
回复
可怜,可怜,我在学ace。。。
swen96
2007-01-18
打赏
举报
回复
问题解决了!原来是路由限制了端口,因为开发机放在外网上!谢谢各位!结贴,怎么给分呀?我都不知道呢
playmud
2007-01-18
打赏
举报
回复
代码呢
swen96
2007-01-18
打赏
举报
回复
确认没有firewall,感谢各位的回复!问题依然没有解决...
小妹
求教
!IPV6下的udp网络
编程
问题
!(转)
小妹
求教
!IPV6下的udp网络
编程
问题
!(转)[@more@]请教各位高手大哥,我以一个ipv6下的tcp客户端程序为基础,想改为udp客户端程序,因为对ipv6理解很浅,现编译完后有些
问题
解决不了,清大家帮我改改哪里不对,谢...
socket
编程
备忘录
#include int
socket
(int domain, int...
socket
的三个形参搭配整理如下:------------------------------------------------------------------TCP、UDP
socket
: 最常用的
socket
,不解释tcp_
socket
=
socket
(AF_INET, S
linux非阻塞式
socket
编程
之select()用法
原文:http://blog.csdn.net/w397090770/article/details/6826286Select在
Socket
编程
中还是比较重要的,可是对于初学
Socket
的人来说都不太爱用Select写程序,他们只是习惯写诸如
connect
、accept、recv或recvfrom...
SOCKET
求教
这个命令什么意思,我是新... sed -e "/grep/d" 是什么意思... 谁能够帮我解决LINUX 2.6 10... 给主人留下些什么吧!~~ ...
TCP基础详解:三次握手、四次挥手相关
文章目录前言正文01 TCP 基本认识02 TCP 连接建立03 TCP 连接断开04
Socket
编程
巨人的肩膀唠叨唠叨读者问答 前言 关于 TCP 三次握手和四次挥手的面试题型: TCP 基本认识 TCP 连接建立 TCP 连接断开 ...
Linux/Unix社区
23,116
社区成员
74,506
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章