预览加载中,请您耐心等待几秒...
1/8
2/8
3/8
4/8
5/8
6/8
7/8
8/8

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

C语言socket编程的方法 C语言socket编程的方法 socket编程的教材网上搜罗下还是很多的,思路基本上也是一样的,程序分两部分客户端和服务器端,下面是小编为大家搜索整理的C语言socket编程的方法,希望大家能有所收获,更多精彩内容请及时关注我们应届毕业生考试网! 第一部分服务器端 一、创建服务器套接字(create)。 二、服务器套接字进行信息绑定(bind),并开始监听连接(listen)。 三、接受来自用户端的连接请求(accept)。 四、开始数据传输(send/receive)。 五、关闭套接字(closesocket)。 socket接收、发送代码 1SOCKETsockConn=accept(sockSrv,(SOCKADDR*)&addrClient,&len); 2charsendBuf[50]; 3sprintf(sendBuf,"Welcome%stohere!",inet_ntoa(addrClient.sin_addr)); 4send(sockConn,sendBuf,strlen(sendBuf)+1,0); 5charrecvBuf[50]; 6recv(sockConn,recvBuf,50,0); 7printf("%s\n",recvBuf); 8closesocket(sockConn); 第二部分用户端 一、创建用户套接字(create)。 二、与远程服务器进行连接(connect),如被接受则创建接收进程。 三、开始数据传输(send/receive)。 四、关闭套接字(closesocket)。 客户端代码 1SOCKETsockClient=socket(AF_INET,SOCK_STREAM,0); 2 3SOCKADDR_INaddrSrv; 4addrSrv.sin_addr.S_un.S_addr=inet_addr("127.0.0.1"); 5addrSrv.sin_family=AF_INET; 6addrSrv.sin_port=htons(6000); 7connect(sockClient,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR)); 8send(sockClient,"hello",strlen("hello")+1,0); 9charrecvBuf[50]; 10recv(sockClient,recvBuf,50,0); 11printf("%s\n",recvBuf); 服务器端代码和客户端主要代码基本上都是上面的程序, 在应用的.过程中有几点要根据自己的需求更改, 1、127.0.0.1是服务器端的IP地址,根据自己的IP段进行修改; 2、htons(6000)是端口号根据具体设定进行修改,我们PLC端口号用到是9600,这点我们需要修改成9600。 网上好多程序都是VC6写的,在参考过程中叶遇到了问题,程序LICK出现了如下错误 unresolvedexternalsymbol__imp__closesocket@4 解决办法: 这是由于VC库中没有加如ws2_32.lib所致。 解决方案一:程序代码中加入#pragmacomment(lib,"Ws2_32.lib") 解决方案二:在project\setting\link中object/librarymodules加入ws2_32.lib 这个是VC6的解决方案,我用的VS2008找了一下 上个图吧,VS2008里设置,工程属性-链接器-命令行-附加选项添加ws2_32.lib就ok了。 编译通过后,服务器端,可以看到hello, 客户端,可以看到welcome127.0.0.1tohere!