预览加载中,请您耐心等待几秒...
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);23SOCKADDR_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!