TCP Server端:
#include
#include
#include
#include
#include
#include
#define; SRVPORT;;;10005
#define; CONNECT_NUM; 5
#define; MAX_NUM;;;80
using namespace std;
int main( int argc, char* argv[] )
{
int aSock = -1, srcSock = -1;
int nSrvAddr = -1,; cnt = -1;
sockaddr_in; sa, serverSockAddr;
sockaddr srvSockAddr;
memset( &srvSockAddr, 0, sizeof(srvSockAddr) );
aSock = socket( AF_INET, SOCK_STREAM, 0 );
if( aSock < 0 )
{
cout<<"Create srcSock Error!"<
}
memset( &serverSockAddr, 0, sizeof(serverSockAddr) );
memset( &sa, 0, sizeof(sa) );
sa.sin_family = AF_INET;
sa.sin_port= htons((u_short)SRVPORT);
sa.sin_addr.s_addr = htonl( INADDR_ANY );
if( bind( aSock, (sockaddr*) &sa, sizeof(sa) ) < 0 )
{
cout<<"Bind Error!"<
}
if( listen(aSock, CONNECT_NUM) < 0 )
{
cout<<"Listen Error!"<
}
cout<<"Server has been opened:"<
{
cnt = -1;
nSrvAddr = sizeof( sockaddr_in );
srcSock = accept( aSock, (sockaddr*)&serverSockAddr, (socklen_t *) &nSrvAddr );
if( srcSock < 0 )
{
cout<<" Server accept Error@"<
return; 0;
}
char szRevMeg[ MAX_NUM ] = { 0 };
char szSdMeg[ MAX_NUM ] = { "Hello World!" };
cout<<"Begin to read: "<
if( cnt < 0 )
{
cout<<"Read Error!"<
}
cout<<" cnt is: "<
{
cout<<"Write Error!"<
cout<<"Write Completed!"<
cout<
close( aSock );
return 0;
}
TCP Client 端:
#include
#include
#include
#include
#include
#include
#define; PORT;10005
#define; SRVIP"127.0.0.1" // "222.26.209.141"
#define; RCVNUM; 1024
using namespace std;
int main()
{
int clientSock, nRecvBytes = -1;
sockaddr_in; sa;
char Buffer[RCVNUM] = { 0 };
clientSock = socket( AF_INET, SOCK_STREAM, 0 );
if( clientSock < 0 )
{
cout<<"Client Socket create error!"<
}
memset( &sa, 0, sizeof(sa) );
sa.sin_family = AF_INET;
sa.sin_port= htons( PORT );
sa.sin_addr.s_addr = inet_addr( SRVIP );
if( connect( clientSock, (sockaddr*)&sa, sizeof(sockaddr) ) < 0 )
{
cout<<"Connect Error!"<
}
cout<<" Client has been opened:"<
cout<<" Begin to write: "<
cout<<" Write completed"<
if( nRecvBytes = read( clientSock,Buffer, RCVNUM ) < 0 )
{
cout<<"Read Message Error!"<
}
cout<<"Server says: "<
cout<<"End of file"<
【Linux技术:TCP Socket之linux实现】}
推荐阅读
- Linux技术教程:修复xen虚拟机方法
- Linux桌面的两种计算器
- Linux桌面学习苹果 增加消息提醒
- linux经验分享:Linux建立Swap分区文件并自动mount
- RedHat Linux中国地区认证培训中心
- 考Linux必看认证介绍
- 牛肝片吸虫病的防治技术
- 即时推出“Thiz BEST” Linux人才认证体系
- Linux中立认证LPI认证简介
- 生猪宰后同步检疫的技术要求