1 / 7
文档名称:

实验一二TCPUDP应用程序实现.doc

格式:doc   大小:85KB   页数:7页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

实验一二TCPUDP应用程序实现.doc

上传人:260933426 2017/8/16 文件大小:85 KB

下载得到文件列表

实验一二TCPUDP应用程序实现.doc

相关文档

文档介绍

文档介绍:实验一、二 TCP/UDP应用程序实现
一、实验目的和任务
1、掌握网络的基本应用。
2、掌握Socket编程。
3、掌握TCP和UDP的编程模型。
二、实验内容
实验一:
1、编写程序获得本机的主机名称和IP地址。
2、编写程序实现网络聊天(使用UDP+多线程)。
试验二:
3、编写程序实现网络传输文件(使用TCP套接字)。
三、实验步骤
[实验1步骤]
1、建立基于对话框的程序,参考界面。
2、参考代码如下:
char szHostName[128];
WSADATA wsaData;
WSAStartup(MAKEWORD(1,1),&wsaData);
if( gethostname(szHostName, 128) == 0 )
{
(szHostName);
struct hostent * pHost;
int i;
pHost = gethostbyname(szHostName);
for( i = 0; pHost!= NULL && pHost->h_addr_list[i]!= NULL; i++ )
{
char str[100];
char addr[20];
int j;
LPCSTR psz=inet_ntoa (*(struct in_addr *)pHost->h_addr_list[i]);
(psz);
}
}
WSACleanup();
[实验2步骤]
1、新建一个基于对话框的应用程序,参考界面如下。
2、建立对话框类的成员变量:
sockaddr_in m_srv;
sockaddr_in m_client;
SOCKET m_socket;
//和控件关联的变量
CListBox m_list;
CString m_msg;
CString m_destip;
int m_destport;
CString m_hostip;
int m_hostport;
3、建立监听开始,参考代码如下:
UpdateData();
= ;
= inet_addr( m_hostip);
= htons( m_hostport );
m_socket = socket(, SOCK_DGRAM, 0);
if( bind(m_socket,(struct sockaddr *)&m_srv,sizeof(m_srv)) !=0 )
{
AfxMessageBox("绑定IP和端口失败!");
return;
}
AfxBeginThread(thread,0,0,0,NULL);
4、建立线程处理函数,参考代码如下:(改函数在头文件中,UINT前加static)
UINT thread(LPVOID v)
{
CChat_UdpDlg *dlg=(CChat_UdpDlg*) AfxGetApp()->GetMainWnd();