永发信息网

为什么Socket client=new Socket(InetAddress.getLocalHost(),5678);会抛出异常

答案:2  悬赏:70  手机版
解决时间 2021-04-07 02:11
为什么Socket client=new Socket(InetAddress.getLocalHost(),5678);会抛出异常
最佳答案
应该用以下代码:
1.简单服务器
//#include
//#pragma comment(lib,"WS2_32.lib")
WSADATA wsd;
static UINT port=%%1;
UINT Listen(LPVOID pParam)
{
SOCKET sServer,sClient;
char buf[1024];
int retVal;
if(WSAStartup(MAKEWORd(2,2),&wsd)!=0)
{
return -1;//失败
}
sServer=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
if(INVALID_SOCKET==sServer)
{
WSACleanup();
return -1;//创建套接字失败
}
SOCKADDR_IN addrServ;
addrServ.sin_family=AF_INET;
addrServ.sin_port=htons((short)pParam);
addrServ.sin_addr.s_addr=INADDR_ANY;
retVal=bind(sServer,(LPSOCKADDR)&addrServ,sizeof(SOCKADDR_IN));
if(SOCKET_ERROR==retVal)
{
closesocket(sServer);
WSACleanup();
return -1;//绑定套接字失败
}
retVal=listen(sServer,1);
if(SOCKET_ERROR==retVal)
{
closesocket(sServer);
WSACleanup();
return -1;//开始监听失败
}
sockaddr_in addrClient;
int addrClientlen=sizeof(addrClient);
sClient=accept(sServer,(sockaddr FAR*)&addrClient,&addrClientlen);
if(INVALID_SOCKET==sClient)
{
closesocket(sServer);
WSACleanup();
return -1;//开始接受客户端连接失败
}
ZeroMemory(buf,sizeof(buf));
retVal=recv(sClient,buf,sizeof(buf),0);
if(SOCKET_ERROR==retVal)
{
closesocket(sServer);
closesocket(sClient);
WSACleanup();
return -1;//接收数据失败
}
CString %%2(buf);
closesocket(sServer);
closesocket(sClient);
WSACleanup();
return 0;
}
CWinThread *pThread=AfxBeginThread(Listen,&port);

2.简单客户端
//#include
//#pragma comment(lib,"WS2_32.lib")
WSADATA wsd;
SOCKET sHost;
SOCKADDR_IN servAddr;
char buf[1024];
int retVal;
if(WSAStartup(MAKEWORd(2,2),&wsd)!=0)
{
return -1;//失败
}
sHost=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
if(INVALID_SOCKET==sHost)
{
WSACleanup();
return -1;//创建套接字失败
}
servAddr.sin_family=AF_INET;
servAddr.sin_addr.s_addr=inet_addr(%%3);
servAddr.sin_port=htons((short)%%2);
int nServAddlen=sizeof(servAddr);
retVal=connect(sHost,(LPSOCKADDR)&servAddr,sizeof(servAddr));
if(SOCKET_ERROR==retVal) {
closesocket(sHost);
WSACleanup();
return -1;//连接服务器失败
}
ZeroMemory(buf,sizeof(buf));
strcpy(buf,%%3);
retVal=send(sHost,buf,sizeof(buf),0);
if(SOCKET_ERROR==retVal)
{
closesocket(sHost);
WSACleanup();
return -1;//向服务器发送数据失败
}
closesocket(sHost);
WSACleanup();

3.获得本机IP
//#include
//#pragma comment(lib,"WS2_32.lib")
WSADATA wsd;
if(WSAStartup(MAKEWORd(2,2),&wsd)!=0)
{
return -1;//失败
}
char szHostname[100],szHostaddress[200];
if(gethostname(szHostname,sizeof(szHostname))!=SOCKET_ERROR)
{
HOSTENT *pHostEnt=gethostbyname(szHostname);
if(pHostEnt!=NULL){
sprintf(szHostaddress,"%d.%d.%d.%d",
( pHostEnt->h_addr_list[0][0]&0x00ff ),
( pHostEnt->h_addr_list[0][1]&0x00ff ),
( pHostEnt->h_addr_list[0][2]&0x00ff ),
( pHostEnt->h_addr_list[0][3]&0x00ff ));
}
}
else
return;
CString %%1(szHostaddress);
全部回答
你说呢...
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
张靓颖从什么时候换的经纪公司?
天天快递停在一个地方三天不走、我该咋办
求绯红的魔咒(绯色诱惑) 漫画 全部都要 谢
服饰类联名款是什么意思
oracle的DBA如何获得工作经验,得到这个职业
兵者 其上伐谋 其次伐交 再次伐兵 其下攻城,
和平批零商店这个地址在什么地方,我要处理点
电影 激战 (张家辉 彭于晏) 里面有首插曲,
骨钉好还是钢钉好?
用小狗小熊和小猴编个小故事
一首老歌,名字忘了
武媚娘传奇手游称心怎么获得 称心和承乾触发
伊斋香中国兰州牛肉拉面天津东站店怎么去啊,
大家帮忙给我 儿子取个叫 名子 叫刘亚什么好
fiash tool is alreaby running can tstart a
推荐资讯
中国移动宽带是不是光纤
最近才发现,可能以前一直是这样。烦躁,浓浓
果园里有苹果和梨树共140棵,苹果树的棵树相
海尔冰箱照明怎么拆
先进汽车驾驶辅助系统的 5 大技术趋势,什么
轻卡交强险多少钱
罪恶都市存盘点的车库是不是吞车的(让车消失
遂成枯落,“遂”,翻译为
仙剑4各个BOSS能偷到什么?
寇仲几集得到井中月
尚品租车地址有知道的么?有点事想过去
已经买了7年社保,如果1年多没有买,之后有什
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?