Board logo

标题: atong请进!关于WATTCP :如何多WIN2K客户机同时连单DOS服务器! [打印本页]

作者: kugui     时间: 2006-1-19 14:21    标题: atong请进!关于WATTCP :如何多WIN2K客户机同时连单DOS服务器!
敬请各位高手踊跃发言,指点一二,不胜感激啊!(我只能实现单台WIN2K与DOS服务器的TCP/IP通讯。)

作者: zhgwbzhd     时间: 2006-1-20 20:34
使用UDP应该可以吧

作者: GONGXP     时间: 2006-1-21 18:23    标题: 可以
以下为客户端代码例子:

#include <stdio.h>

#include <string.h>

#include <rtos.h>

#include <net.h>

#include <mem.h>

#include <stdlib.h>

#include <ctype.h>

void main(void)

{

static tcp_Socket s;

char remotbuf[100] = "lanry";

char serverIp[20] = "192.168.0.100"; //服务器IP地址

char AddrBuf[50];

char szRead[512];

DWORD host;

int status;

int rlen = 5;

sock_init(); /*初始化协议栈*/

printf("WATTCP.CFG address is: [%s]\n", inet_ntoa(AddrBuf, gethostid()));

printf("Connecting to %s:%d\n", serverIp, 9104);

host = inet_addr(serverIp); /*服务器端IP*/

if(!tcp_open(&s, 0, host, 9104, NULL)) /*连接服务器*/

{

printf("Unable to open TCPC session\n");

goto sock_err;

}

printf("Wating to be established\n\r");

sock_wait_established(&s, sock_delay, NULL, &status);

printf("Connection is Successful!\n");


/*以下代码用户可以根据需要修改*/

while(1)

{

rt_sleep(10);

tcp_tick(NULL); //给协议栈执行机会

sock_write(&s, (byte *)remotbuf, rlen); //向服务端发送信息

//接收服务端发送来的信息

if(sock_dataready(&s))

{

memset(szRead, 0, 512);

//无阻塞接收数据,另外一个阻塞接收数据函数为sock_read

sock_fastread(&s, (byte*)szRead, sizeof(szRead));

}

}


sock_err:

puts("Unable to connect to the server!\n");

sock_close(&s);

}

作者: kugui     时间: 2006-1-23 12:25    标题: 谢谢!
我的DOS机是服务器,请问有没有用WATTCP实现在DOS机多连接的服务器端代码,是多台WIN2K同时连接一台DOS服务器